Autor | Zpráva | ||
---|---|---|---|
Hitman Profil |
#1 · Zasláno: 17. 6. 2018, 23:15:10
Mám funkční script pro přesměrování soubor.php na jakpsatweb.cz/soubor. Potřeboval bych přidat i variantu pro koncové lomítko - jakpsatweb.cz/soubor/. Lze to nějak jednoduše?
RewriteEngine On RewriteRule ^([^\.]+)$ $1.php [NC,L] Díky |
||
Keeehi Profil |
#2 · Zasláno: 18. 6. 2018, 07:48:01
Snad takto
RewriteRule ^([^\.]+)/?$ $1.php [NC,L] Z hlediska regulárního výrazu to smysl dává ovšem s konfigurací apache si jistý nikdy nejsem. Ono tak záleží případně na dalších rewritech atp. |
||
Kajman Profil |
#3 · Zasláno: 18. 6. 2018, 07:58:05
Kdyby to lomítko požrala již první závorka, tak lze napsat pravidla dvě.
RewriteEngine On RewriteRule ^([^\.]+)/$ $1.php [L] RewriteRule ^([^\.]+)$ $1.php [L] |
||
Hitman Profil |
#4 · Zasláno: 18. 6. 2018, 09:31:51
Keeehi
To jsem také zkoušel, ale funguje úplně stejně jako původní varianta - bez lomítka. Kajmanovo řešení funguje, díky :-) Ještě taková drobnost - kvůli duplicitě by bylo asi dobré jednu verzi přesměrovat na druhou. Jak udělám relativní adresu webu? RewriteRule ^([^\.]+)/$ $1.php [L] RewriteRule ^([^\.]+)$ http://jakpsatweb.cz/$1 [R] Zkoušel jsem místo http..napsat jen /$1, ale píše mi to smyčku přesměrování. Sice to není důležité, doména se tak často nemění, ale určitě to bude profesionálnější řešení relativně.. |
||
Kajman Profil |
#5 · Zasláno: 18. 6. 2018, 09:44:31
A která varianta má být výchozí a která má být aleternativní se změnou na výchozí?
|
||
Hitman Profil |
Nechal bych výchozí jakpsatweb.cz/clanek , ale z hlediska SEO je to asi jedno...
|
||
Kajman Profil |
Zkuste něco takového
#potlaceni doplneni lomitka diky mod_dir DirectorySlash Off RewriteEngine On RewriteBase / #presmerovani z existujicich adres koncicich .php RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^(.+)\.php$ $1 [L,R=302,NE] #presmerovani z adres koncicich na lomitko RewriteRule ^([^\.]+)/$ $1 [L,R=302,NE] #podstrceni php souboru, jen pokud existuje RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^([^\.]+)$ $1.php [L] Pokud soubor .htaccess nebude v rootu webu, je potřeba upravit RewriteBase a doplnit tam adresář, ve kterém je. |
||
Hitman Profil |
#8 · Zasláno: 18. 6. 2018, 21:12:36
Netušil jsem že to bude tak komplikované, když s absolutní adresou je to na 5 řádků.
Nicméně funguje perfektně - díky! |
||
Časová prodleva: 6 let
|
0