Home Blog pc-software .htaccess | redirect 301 , error 404

.htaccess | redirect 301 , error 404

Popis: 2008-12-16 | pc-software .htaccess | redirect 301 , error 404 | ErrorDocument Redirect  další vychytávky vytvoř soubor .htaccess bližší košile než kabát nenalezení URL adresy penamentní přesměrování Další vychytávky rewrite Automatické doplnění lom
Klíčová slova:
Hits: 8178
Hodnocení uživatelů: / 0
NejhoršíNejlepší 
Blog - pc-software
Napsal uživatel Administrator   
Úterý, 16 Prosinec 2008 01:00

Pokud chceš upravit chování webu * při chybě 404 - ErrorDocument nebo utvořit 301 - Redirect případně další vychytávky
*)na platformě Apache

  1. Nejprve vytvoř(pokud nejni již přítomen) soubor .htaccess v adresáři kterému má být upraveno chování.
    Pro chybu 404 je to adresář root, ten kde je index. Souboru .htaccess je bližší košile než kabát. Zpracování URL(např. http://tcladin.cz/blog/blog.php) odpovídající umístění na webu (/blog/, kde /=www_root) se řídí nejprve .htaccess z vyšších adresárů (apache). Nakonec se zpracováva .htaccess umístěný v adresáři kam směřuje URL (/blog/). Což v důsledku znamená, že poslední instrukce(ta z /blog/) přepíše instrukce z vyšších adresářů (pokud je instruován stejný objekt).
  2. Pak vpiš do .htaccess pro:
    1. událost při nenalezení URL adresy na tve doméně:
       
      ErrorDocument 404 http://tcladin.cz/chybovka.php

      Pak vytvoř v adresáři root soubor "chybovka.php" a naplň ho požadovaným skriptem = tim co se zobrazí při nenalezení požadované adresy.
      Pokud budeš pernamentně presmerovát nasměruj si i stránku 404 na nový web
    2. penamentní přesměrování vznikne po vložení tohoto(těchto) řádků:
          
       Redirect 301 /index.html http://tcladin.cz/index.php
       Redirect 301 /index.php http://tcladin.cz/index.php
       

       Kde "/index.html" je adresa na přeměrovávaném webu a "http://tcladin.cz/index.php" je cil presmerovani(nový web).
    3. Další vychytávky pomocí módu rewrite.
       #Nejprve je potřeba spustit mod rewrite, zapiš
       RewriteEngine on
       #definice výchozího adresare
       RewriteBase /
       #Automatické doplnění lomítek, viz http://interval.cz/clanky/mod-rewrite-pro-hezka-url-lomitka-adresare-promenne/
       RewriteCond %{REQUEST_URI} !.[[:alnum:]]+$
       RewriteRule ^(.+[^/])$ /$1/ [R=301]
       #přesmerovaní z www URL na URL bez www (w ww.dobretabaky.cz na dobretabaky.cz)
       RewriteCond %{HTTP_HOST} ^www.dobretabaky.cz
       RewriteRule (.*) http://dobretabaky.cz/$1 [R=301,QSA,L]
        

       #presmeruje dynamickou URL na dynamickou URL na 
       #http://tcladin.cz/blog/blog.php?typ=3&tema=n%C3%A1vody na
       #http://tcladin.cz/blog/blog.php?typ=3&tema=pc-sofrware
       #revrireCond vyhodnocuje zda dynamicka cast url je "typ=3&tema=n%C3%A1vody", pokud ano provede se
       #rewrite rule kde (.*) je pouzit v casti kam a to jako $1
        #vice viz. http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=3&topic=95846&page=0&anchor=1
       #nebo http://www.jakpsatweb.cz/server/mod-rewrite.html
       RewriteCond %{QUERY_STRING} ^typ=3&tema=n%C3%A1vody$
       RewriteRule ^(.*)blog.php$ $1blog.php?typ=3&tema=pc-software [R=301,L]
        

       #redirect nechtene indexovane stranky dynamicke na hlavni stranku
       #reseni pro nefunkcni : " Redirect /zdravi/diagnoza.php?ref=Sex%C5%9Ehop.Com http://tcladin.cz "
       RewriteCond %{QUERY_STRING} ^ref=Sex%C5%9Ehop.Com
       RewriteRule ^(.*)$ http://tcladin.cz/? [R=301,L]
        

       #redirect nechtene indexovane stranky dynamicke(vsechny hodnoty parametru) na hlavni stranku
       #presmeruje tcladin.cz/?hledat=P%20 na http://tcladin.cz/ asi jde o nejaky hacking
       # v prvnim radku by slo pouzit i napr /pokus/pokus.php kdyby slo o tcladin.cz/pokus/pokus.php?hledat=P%20
       # ^(.*) ... na zacatku je 1+N znaku, ^(.*)/(.*) podmince vyhovuje jen http://tcladin.cz/
       RewriteCond %{REQUEST_URI} ^(.*)/(.*)
       RewriteCond %{REQUEST_URI} !^(.*)/(.*)/(.*)
       RewriteCond %{QUERY_STRING} ^hledat
       RewriteRule ^(.*)$ http://tcladin.cz/? [R=301,L]
       
    4.  #/akryrly problem indexace starých nebo chybných URL google , převedeno na originaly.eu/galerie/linoryt/ redirect 301.
       # přesně jen ($) /akryl nebo /akryly/product/show nebo /akryly/category/listing
       RewriteCond %{REQUEST_URI} ^/akryly$ [OR] # pozustakez pro SEO méně výhodné tile
        RewriteCond %{REQUEST_URI} ^/akryly/product/show$ [OR] # z puvodniho hikashopu
        RewriteCond %{REQUEST_URI} ^/akryly/category/listing$  #oprava chyby pro hikashop
        RewriteRule (.*) http://originaly.eu/galerie/akryl [R=301,L]
       # další konkrétní produkty řešeny výčtem produktů (cca40 položek), připravij jsem v excelu a exportoval do html kodu
       #produkty z byvale linoryty
       RewriteCond %{REQUEST_URI} ^(.*)/product/show/cid-1/name-chrt
       RewriteRule (.*) http://originaly.eu/galerie/linoryt/chrt [R=301,L]
       RewriteCond %{REQUEST_URI} ^(.*)/product/show/cid-5/name-chameleon
       RewriteRule (.*) http://originaly.eu/galerie/linoryt/chameleon [R=301,L]
       RewriteCond %{REQUEST_URI} ^(.*)/product/show/cid-11/name-dzungle
       RewriteRule (.*) http://originaly.eu/galerie/linoryt/džungle [R=301,L]
       #atd
       

Odkazy 

odstranění /subdom/ z vyhledávačů  
Rewrite Root dir to Subdir in Joomla

Redirect 301
HTTP status
Rewrite_mode:
.htacces rewrite přesměrovat dynamickou na dynamickou url
návod z intervalu
rewrite na jakpsatweb
official Apache
javorek-praktické příklady
web o htaccess
DNS:
xxx-urobit-yyy

Aktualizováno Čtvrtek, 29 Říjen 2015 16:00

Komentáře  

 
0 # Good articleMarek Jirsák 2011-09-06 20:08
Thanks, its good article
Odpovědět | Odpovědět citací | Citovat