Regisztráció Blogot indítok
Adatok
hrolcsi

0 bejegyzést írt és 3 hozzászólása volt az általa látogatott blogokban.

Admin Szerkesztő Tag Vendég
már itt: http://blog.rhodeus.hu/2008/01/beszedes-url-ek-htaccess-modrewrite_23.html..
hrolcsi 2009.07.10 12:41:41
Szia!

Csináltam a leírás alapján egy .htaccess fájlt, ami csak annyit tenne hogy minden kérést az index.php -nak ad. De csak félig működik.

Pl.:
1.
localhost:800/teszt/ -> "teszt" értéket kapom
2. localhost:800/teszt/valami -> 404
3. localhost:800/teszt/akarmi -> 404
4. localhost:800/teszt/index/valami -> "teszt, index, valami" értékeket kapom.

a htaccess így néz ki:
RewriteEngine on
Options +FollowSymLinks -MultiViews
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?index=$1 [QSA]

ehhez a php:
$URIParts = explode("/", $_SERVER['REQUEST_URI']);
foreach($URIParts as $f){
echo $f.'';
}

csak hogy lássam az értékeket.

A kérdésem az lenne hogy mért nem működik a 2-es 3-as példa. Mit rontottam el? Mit hagytam ki?

Előre is köszönöm a segítséget.
hrolcsi 2009.07.17 07:54:14
@nullstring: igen ott kellene de, valamiért nem jön létre a GET változó ezért használtam a REQUEST_URI -t.

De ha jól sejtem, akkor jelen esetben a $_SERVER['REQUEST_URI'] és a $_GET['index'] ugyanazt az értéket kapja.

Amit viszont nem értek, hogy miért kell az "index/" -t vagy az "index.php/" -t bele írni a címbe. A "-MultiViews" nem azért kell megadni hogy a létező nevű fájlokat/könyvtárakt ne vegye figyelembe?
hrolcsi 2009.07.17 09:15:23
@nullstring: Sikerült! Köszönöm!

Ugyan nem a $_SERVER['REQUEST_URI'] és a $_GET['index'] eltérése okozta a problémát, hanem a "RewriteBase /" helyett "RewriteBase /teszt/" kell.

localhost-os témában mindig ilyenekbe futok bele:)