Autor | Zpráva | ||
---|---|---|---|
jakubk0c Profil |
#1 · Zasláno: 6. 12. 2018, 11:24:45
Dobrý den,
mám problém s úpravou URL adresy. v .htaccess mám tento kod: RewriteEngine On # www > bez www Options +FollowSymlinks RewriteCond %{HTTP_HOST} ^www.xx.cz$ RewriteRule (.*) http://xx.cz/$1 [R=301,QSA,L] # xx.cz/index.php > xx.cz/index RewriteRule ^index.php$ http://xx.cz/$1 [R=301] # xx.cz/index.php > xx.cz/index RewriteCond %{REQUEST_FILENAME} !^(.*)/$ RewriteRule ^([^\.]+)$ $1.php [NC,L] Výsledek = xx.cz/blog Požadovaný výsledek = xx.cz/blog/ Zkoušel jsem google i diskuze zde na portálu, ale nic mi nefungovalo a nevím proč. Za pomoc budu vděčný. |
||
Kajman Profil |
#2 · Zasláno: 6. 12. 2018, 23:24:08
Na řádku 11 máte podmínku, že se dělá přepis jen pro adresy nekončící lomítkem. Můžete si pod to např. přidat další pravidlo pro lomítkaté adresy.
RewriteRule ^([^\.]+)/$ $1.php [NC,L] |
||
blaaablaaa Profil |
#3 · Zasláno: 7. 12. 2018, 07:55:40
Kajman:
Ideální by ještě bylo přesměrovat stránky bez lomítka na lomítkovou verzi: RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !^(.*)/$ RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L,QSA] |
||
jakubk0c Profil |
#4 · Zasláno: 7. 12. 2018, 10:19:12
blaaablaaa:
Tak jsem to zkusil a přestaly mi fungovat styly knihovny atd. |
||
Kajman Profil |
Pokud se na ně budete odkazovat přes kořenové adresy, mohlo by to pomoci. Pokud odkazy nelze upravit, nepoužívejte virtuální adresářovou strukturu (lomítko na konci).
|
||
blaaablaaa Profil |
jakubk0c:
Tak ještě něco jako: RewriteCond %{REQUEST_URI} !^.*\.(jpg|css|js|gif|png)$ [NC] (whitelist pripon, za ktere nema jit lomitko)
//EDIT: Platí pokud soubory generujete nebo v té cestě fyzicky neexistují |
||
jakubk0c Profil |
blaaablaaa:
Pomohlo upravit odkazy, ale mám problém, že kyž dám v menu odkaz na index. Přesměruje mě to na: xx.cz/http://xx.cz// |
||
Kajman Profil |
#8 · Zasláno: 7. 12. 2018, 13:23:46
Smažte pravidlo z řádku 8 v [#1].
Nebo ho upravte na # přesměrování na verzi bez přípony, pokud ještě není přepsáno a není to POST požadavek RewriteCond %{ENV:REDIRECT_STATUS} ="" RewriteCond %{REQUEST_METHOD} =GET RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^(.+)\.(php)$ http://%{HTTP_HOST}/$1 [L,R=302,NE] Pro obě řešení: aby se zapomnělo předešlé špatné trvalé přesměrování (301), smažte si cache prohlížeče, nebo to otestujte v jiném prohlížeči. |
||
jakubk0c Profil |
#9 · Zasláno: 7. 12. 2018, 21:05:43
Super děkuji moc :-)
|
||
Časová prodleva: 5 let
|
0