Autor | Zpráva | ||
---|---|---|---|
Kcko Profil |
Ahoj,
snažím se o následující: Odstranit z URL .php, a přesměrovat na verzi s koncovým lomítkem, pokud není tak doplnit a musí fungovat i 404-tka. DOMENA/neco.php -> DOMENA/neco/ # fyzicky si to saha na neco.php DOMENA/neco -> DOMENA/neco/ # fyzicky si to saha na neco.php DOMENA/index.php -> DOMENA # nechceme aby slo v URL dat index.php DOMENA/nesmysl -> 404 # tu by měla zařídit direktiva Error 404 / 404.php protože nesmysl.php neexistuje DOMENA/neco/nesmysl -> 404 # tu by měla zařídit direktiva Error 404 / 404.php protože neco.php/nesmysl.php neexistuje Funguje mi to tak napůl a začínám se těch pravidlech ztrácet, nemá někdo hotové řešení? StackOverflow sem prohlédl, ale kompletní řešení mi nefunguje. |
||
Kcko Profil |
#2 · Zasláno: 12. 1. 2021, 18:28:40
Tak už to mám, kdyby to někoho zajímalo:
ErrorDocument 404 /404.php RewriteEngine On RewriteBase / # index RewriteRule ^index/?$ / [R=301,L,QSA] # proti zacykleni redirektu RewriteCond %{ENV:REDIRECT_STATUS} !^$ RewriteRule .* - [L] # koncovka na bez koncovky RewriteCond %{REQUEST_URI} ^(.*).php$ RewriteRule ^(.*).php$ $1/ [R=301,L,QSA] # lominko hodne omezene RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !/$ RewriteRule ^([a-z]+)? $1/ [R=301,L,QSA] # podstrceni RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/$ $1.php [L,QSA] |
||
Kajman Profil |
#3 · Zasláno: 12. 1. 2021, 18:41:10
Jen bych přidal flagy NE tam, kde je R (přesměrování).
|
||
Kcko Profil |
#4 · Zasláno: 12. 1. 2021, 19:22:56
Z jakého důvodu? Díky
|
||
Kajman Profil |
Viz konec komentu v podobném přepisu
phpfashion.com/hadanka-znate-mod_rewrite#comment-7359 |
||
Kcko Profil |
#6 · Zasláno: 12. 1. 2021, 20:22:49
Kajman:
Aha, díky! |
||
Časová prodleva: 3 roky
|
0