| 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 dny
|
|||
0