Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Úprava pravidel pro mod_rewrite

Chlapci, není tu někdo, kdo by zvládnul úpravu pravidel pro mod_rewrite?
Kvůli CMS (seo url), který provozuji na své doméně, jsem zaslal na hosting vygenerovaná pravidla pro úpravu konfigurace na hepnar.cz:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

SEO url fungují, ale pravidla ovšem přepisují i adresu

www.hepnar.cz/shop

kde mám nainstalovaný shop - tudíž odkaz nefunguje a stránka je nenalezena.
Odkaz na shop funguje teď pouze v tomto tvaru:

www.hepnar.cz/shop/index.php

Potřeboval bych v těch pravidlech udělat vyjímku pro adresu, kde je shop (chtějí to po mě na hostingu), ale nevím jak na to.

Nezvládnul by jste to, prosím, někdo? Díky za pomoc či radu.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Ještě tady mám dvě možnosti jak pravidla upravit, co vy na to? 1. RewriteRule ^shop/?$ shop/index.p…
Freeman 06.04.2006 22:43
Freeman
Obe sa od môjho líšia otáznikom - teda, že okrem požiadavky na /shop/ prepíšu aj požiadavku na /shop…
los 06.04.2006 23:10
los
Takže toto pravidlo by mělo být rozumným kompromisem (pro případ, že by tam server lomítko nepřidal)…
Freeman 06.04.2006 23:30
Freeman
Môj názor je taký, že lomítko by tam malo byť, takže som za: RewriteRule ^shop/$ shop/index.php [L,Q… nový
los 06.04.2006 23:38
los
No vidíš, chtěl jsem se na tu tečku zeptat, ale smířil jsem se s tím, že tam patří. :-) Pokud to pof… nový
Freeman 06.04.2006 23:48
Freeman
Už bych to rád poslal na hosting, ale mám dilema jestli má být na posledním řádku před indexem lomít… nový
Freeman 07.04.2006 12:43
Freeman
Vďaka tomu, že tam je RewriteBase nastavené na "/", je jedno, či tam to lomítko bude alebo nie. Ja h… nový
los 07.04.2006 18:31
los
Vyřešeno - díky! RewriteRule ^shop/?$ shop/index.php [R,L,QSA] poslední
Freeman 07.04.2006 19:01
Freeman

Obe sa od môjho líšia otáznikom - teda, že okrem požiadavky na /shop/ prepíšu aj požiadavku na /shop (bez posledného lomítka). Do toho pravidla som to nedával, pretože to už server prepisuje (dá sa to vidieť tak, že keď používateľ zadá shop, tak ho server presmeruje na shop).
Druhé pravidlo má navyše QSA (Query String Append), to znamená, že ak si niekto vypýta stránku /shop/?name=value, tak sa to prepíše na /shop/index.php?name=value (bez QSA by to bolo iba /shop/index.php). To QSA by som tam nechal.

Takže toto pravidlo by mělo být rozumným kompromisem (pro případ, že by tam server lomítko nepřidal)?
RewriteRule ^shop/?$ shop/index.php [L,QSA]

nebo myslíš, že je výhodnější ta Tvá původní úprava?
RewriteRule ^shop/$. shop/index.php [L,QSA]

Ty parametry QSA tam asi teda nechám. Přijmi mé upřímné díky za pomoc, jestli bude zítra chvilka času, zkusím to testnout.

Vďaka tomu, že tam je RewriteBase nastavené na "/", je jedno, či tam to lomítko bude alebo nie. Ja ho tam nedávam kvôli tomu, že keď dám web do iného adresára, tak mi stačí v .htaccess zmeniť iba RewriteBase (ináč by som musel meniť zakaždým všetky pravidlá).

Zpět do poradny Odpovědět na původní otázku Nahoru