htaccess megint

Üdv!

Kezdem feladni ezt az egészet...
Leírom mit szeretnék.
index.php?oldal=$1&lang=$2

viszont van mikor ugye nincs lang, csak oldal, és természetesen kezdőlapként oldal sincs.
Eddig erre jutottam ami nem megy. (bár az apache.org docs szerint mennie kellene)


RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/(.*)/?$ index.php?oldal=$1&lang=$2
RewriteRule ^(.*)/?$ index.php?oldal=$1

Az oldal egyelőre localhoston van, viszont külön virtualhoston, hogy ez ne zavarjon bele.

pch

Hozzászólások

Kötelező, hogy GET paraméterből jöjjön az infó? PHP-ból simán megkapod a $_SERVER['REQUEST_URI']-t és azt úgy dolgozod fel, ahogy akarod. Akár egy prepend fájlban is.

Egyébként ennek így ilyen formában működnie kellene, de ha bekapcsolod a rewrite logot, akkor látni fogod, hogy milyen köröket fut a cucc. Annak ismeretében sokkal könnyebb kideríteni, hogy mi történik. Én pl. arra tippelnék, hogy az első RewriteRule után még lazán ráfut a másodikra is.

Másodikra simán ráfuthat. Ajánlok a végére egy [L]-t.
Ez viszont "^(.*)/(.*)/?$" erre is match-el ami nem túl jó:
# echo "valami/valami/valami/valami/valami" | grep -E "^(.*)/(.*)/?$"
valami/valami/valami/valami/valami

Ami sokkal szebb lenne sztem az "^/[^/]+/[^/]+/?$":
# echo "valami/valami/valami/valami/valami" | grep -E "^/[^/]+/[^/]+/?$"
# echo "/valami/valami/" | grep -E "^/[^/]+/[^/]+/?$"
/valami/valami/

Egyébként meg 404 azt kész.

^([a-z]+)(?:/(hu|ru|en|de)?)$ .......oldal=$2&lang=$2

t

Ha kiveszem a

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

akkor jó lesz változó értéke, viszont se a css se a js nem töltődik be.

Más ötletek?

pch
--
http://www.buster.hu "A" számlázó
--

Imhol a megoldás:

Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-zA-z]+)/([hu|ru|de|pl|en|fr]+)$ index.php?oldal=$1&lang=$2 [L]
RewriteRule ^([a-zA-z]+)$ index.php?oldal=$1 [L]

thx!

pch
--
http://www.buster.hu "A" számlázó
--