Autor Zpráva
Jeremy88
Profil
Zdravím,

mám zprovozněno tohle přepisování adres pomocí mod_rewrite:
http://localhost/web/index.php?page=neco -> http://localhost/web/neco.html

Zařizuje to tahle část kódu ze souboru .htaccess:
Options +FollowSymlinks
RewriteEngine On
RewriteBase /web/
RewriteCond %{QUERY_STRING} ^page=([^&]+)$
RewriteRule ^index.php$ %1.html? [R=301,L]
RewriteRule ^([^/]+).html index.php?rw=1&page=$1 [L,QSA]


.htaccess dále kvůli zamezení duplicitního obsahu na jedné adrese/doméně obsahuje ještě:
RewriteRule http://localhost/web http://localhost/web/ [L,R=301]
to podle očekávání v pořádku provádí:
http://localhost/web -> http://localhost/web/

a potom také:
RewriteRule index.php http://localhost/web/ [L,R=301]
to sice provede:
http://localhost/web/index.php -> http://localhost/web/

Ale pak již nefunguje přepisování z http://localhost/web/index.php?page=neco na http://localhost/web/neco.html nýbrž na http://localhost/web/?rw=1&page=neco


Z toho je zřejmé, že mezi sebou kolidují tyto dva příkazy:
RewriteRule ^([^/]+).html index.php?rw=1&page=$1 [L,QSA]
a
RewriteRule index.php http://localhost/web/ [L,R=301]

Zkoušel jsem je zkombinovat, ale dobrý výsledek mi to nepřineslo, nejsem totiž přes mod_rewrite žádný odborník a tento kód jsem sám nepsal, je z příkladů z jakpsatweb.cz a jen lehce jsem je upravil podle svých potřeb. Proto vás tady žádám o radu.

Předem děkuji za odpovědi.
Jeremy88
Profil
Omlouvám se, že to opět nahazuji na hlavní stranu, ale tento problém mě opravdu tíží, díky za pochopení.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0