Autor | Zpráva | ||
---|---|---|---|
Sylar Profil |
Zdravím,
chtěl bych poprosit o pomoc s pravidlem, které by přesměrovalo uživatele v případě, že URL neobsahuje ihned na začátku stranka nebo podstranka. Např. - domena.cz/stranka/kategorie/ by zůstalo - domena.cz/podstranka/jina-kategorie/ by také zůstalo - domena.cz/uplne-jina-kategorie/stranka/ by se přesměrovalo na domena2.cz/uplne-jina-kategorie/stranka/ - domena.cz/kategorie/ by se přesměrovalo na domena2.cz/kategorie/ Dostal jsem se k tomuto, ale pro "podstranka" by se muselo vytvořit druhé pravidlo (ideálně bych byl rád, kdyby to šlo spojit do jednoho) a navíc se mi nedaří zachytit tu URL do proměnné $1. #RewriteCond %{HTTP_HOST} ^(www\.)?domena.cz #RewriteRule !^(stranka/.+)$ http://www.domena2.cz/$1 [R=301,L] |
||
Kajman Profil |
#2 · Zasláno: 22. 2. 2016, 21:45:23
S negací by mělo jít něco jako
RewriteCond %{HTTP_HOST} ^(www\.)?domena.cz RewriteRule !^(stranka|podstranka)/.*$ http://www.domena2.cz/$0 [R=301,L,NE] Případně lze před přesměrování udělat výjimku kombinací pomlčku s flagem S pro přeskočení následného pravidla, nebo flagem L pro úplné zastavení přepisování. RewriteRule ^(stranka|podstranka)/ - [S] RewriteCond %{HTTP_HOST} ^(www\.)?domena.cz RewriteRule ^(.*)$ http://www.domena2.cz/$1 [R=301,L,NE] |
||
Sylar Profil |
Kajman:
U toho prvního řešení mě to vždy přesměruje na domena2.cz - do proměnné $0 se nezachytí ta podstránka. U druhého řešení mě to stále přesměrovává i v případě, že stránka začíná (stranka|podstranka). |
||
Kajman Profil |
#4 · Zasláno: 22. 2. 2016, 22:18:24
Ve druhém má být [S=1]
|
||
Sylar Profil |
#5 · Zasláno: 22. 2. 2016, 22:31:58
Kajman:
Ještě jsem tam musel ve třetím řádku změnit (.*) na (.+), aby mi to nebralo i homepage domena.cz, ale jinak to vypadá, že to už funguje. Mockrát děkuju. |
||
Časová prodleva: 9 let
|
0