Zadejte hledaný výraz...

Přesměrování URL v htaccess

saMcz
verified
rating uzivatele
(4 hodnocení)
12. 5. 2014 14:26:13
Ahoj,
bojuji s přesměrováním URL v htaccess a za žádnou cenu se mi nedaří přijít na problém, který znemožňuje přesměrování vyřešit.
Potřebuji přesměrovat tuto starou URL:
example.com/test?cas=&den=xyz
na tuto novou URL:
example.com/test/
Poměrně triviální věc, ale pro mě z nepochopitelného důvodu mi to pravidlo, které by to mělo udělat nebere, celý htaccess vypadá takto:
IndexIgnore */*
RewriteEngine on
RewriteRule ^test?cas=&den=xyz$ /test/
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1
RewriteCond %{HTTP_HOST} ^www.(+.+)$
RewriteRule ^filemanager/(.*)$ http://cdn.%1/filemanager/$1
RewriteRule ^sitemap.xml$ index.php
RewriteCond %{REQUEST_FILENAME} -s
RewriteCond %{REQUEST_FILENAME} -l
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ -
RewriteRule ^.*$ index.php
Neví prosím někdo, kde může být chyba?
saM
12. 5. 2014 14:26:13
https://webtrh.cz/diskuse/presmerovani-url-v-htaccess-2/#reply1022588
McFly
verified
rating uzivatele
(4 hodnocení)
12. 5. 2014 15:25:20
Pokud máš Apache 2.4.0 a výš, ten otazník na konci by se dal asi nahradit pomocí (nemám odzkoušeno, mám Apache 2.2.27)
12. 5. 2014 15:25:20
https://webtrh.cz/diskuse/presmerovani-url-v-htaccess-2/#reply1022587
saMcz
verified
rating uzivatele
(4 hodnocení)
12. 5. 2014 16:26:13
Moc děkuji, toto je již funkční, proč nešlapalo to mé ale nechápu :/
Uvědomil jsem si ještě jednu věc - těch starých url k přesměrování je asi 90 a každá má jiný tvar, délku i znaky a lomítka, tzn. musel bych těchto pravidel udělat 90 pro každou zvlášť, ALE všechny url obsahují stejné slovo "page", tak mne napadlo, jestli by šlo udělat pravidlo, které by říkalo, že pokud url v jakékoliv své části obsahuje výraz "page", tak se přesměruje na tu jednu stranu, jako v tomto případě example.com/test/
Příklad stávajících url, které mají společný údaj "page":
example.com/page=game&play=WoW
example.com/my/page/you&me?for
example.com/go/to/my/page/
Tzn. všechny tyto výše uvedené tvary přesměrovat jedním pravidlem třeba na example.com/test/ by bylo možné při použití htaccess s výše uvedeným obsahem?
Předem děkuji za radu.
saM
---------- Příspěvek doplněn 13.05.2014 v 09:46 ----------
Zkoušel jsem toto řešení, ale nefunguje, i když by mělo podle dokumentace :(
RewriteCond %{QUERY_STRING} page
RewriteRule .* /test/?
12. 5. 2014 16:26:13
https://webtrh.cz/diskuse/presmerovani-url-v-htaccess-2/#reply1022586
Pro odpověď se přihlašte.
Přihlásit