Autor Zpráva
Tom344
Profil *
Cau lidi,

v mod_rewrite mam nasledujici ..

RedirectMatch 301 ^/(^cs|en|de)\/(.*)$ /cs/

podle me by to (pokud neni zadan jazyk) melo presmerovat adresu example.com na example.com/cs/

mam to spravne ??
Tom344
Profil *
Oprava .. ocitlo si mi tam lomitko navic ..


RedirectMatch 301 ^(^cs|en|de)\/(.*)$ /cs/
Kajman
Profil *
Obávám se, že to takhle nepůjde. RedirectMatch je z modu alias a tak je to přesměrovávání sice jednoduché a rychlé, ale složité podmínky tam nevykouzlíte. Jde totiž o to, že se přepisuje něco co vyhovuje, ne něco co nevyhovuje (alespoň mě regulární výraz na něco, co nemá cs, en a de nenapadá).

V mod alias a RedirectMatch neporadím, v modu rewrite, by to mohlo být snad takhle...

RewriteEngine On
RewriteBase /
RewriteRule ^(cs|en|de)/ - [S]
RewriteRule ^(.*)$ cs/$1 [R=301]

To první RewriteRule vlastně udělá to, že testuje, zda tam není na začátku cs, en, de, a pokud ano, nic nepřepisuje a přeskočí následující pravidlo. Ale pochybuji, že to opravdu takhle chcete... co obrázky, styly a tak? Ty mají také vždy jazykový prefix?
Tom334
Profil *
Samozrejme jsou jeste aplikovane pravidla, ze se nesmi jednat o fyzicky soubor, directory ci symlink ..
Kajman
Profil *
Tak to by mělo mezi ty dvě pravidla rewriterule přijít asi ještě

RewriteCond %{REQUEST_FILENAME} !-F

a mohlo by to fungovat.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0