ugrás a tartalomhoz

Hibásan(?) működő mod_rewrite

Halszálka · 2010. Már. 10. (Sze), 23.24
Sziasztok,

Tárhelyről szerverre költözik az oldalam és felmerült egy mod_rewrite-tal kapcsolatos probléma.
Egészen pontosan arról lenne szó, hogy van két fájl, legyen mondjuk valami.php és valami_mas.php.

Van a htaccesben egy ilyesmi sor:

RewriteRule ^valami/([0-9]+)/?$ valami_mas.php?id=$1 [NC]

Ettől ugye azt várnánk, hogy pl. erre: valami/2 ez történjen: valami_mas.php?id=2

Ehelyett azonban a valami.php-t tölti be, sőt, minden rewrite szabály nélkül is megtalálja a php fájlokat, tehát pl.

valami > valami.php
ezmas > ezmas.php

Valami ötlet, hogy erről le lehessen szoktatni?

A szerveren apache2, php5, ispcp van.
 
1

rewrite?

janoszen · 2010. Már. 11. (Cs), 08.09
Rewrite modul betoltve, allowoverride beallitva, followsymlinks bekapcsolva? Mit mond a gep rendszergazdaja?
3

A rewrite elvileg jól működik

Halszálka · 2010. Már. 11. (Cs), 10.38
A rewrite elvileg jól működik, mert majdnem az összes többi szabály elvárás szerint működik, csak azok nem, amiben egy fizikailag is létező fájl neve van.

Allowoverride, followsymlinks be van kapcsolva.
2

Multiviews

vbence · 2010. Már. 11. (Cs), 10.35
minden rewrite szabály nélkül is megtalálja a php fájlokat

http://httpd.apache.org/docs/1.3/content-negotiation.html
5

Igen, az volt

Halszálka · 2010. Már. 11. (Cs), 11.11
Közben megtaláltuk, de azért leírom hátha másnak is jól jön, tehát itt kellett törölni a multiviewst:

Options -Indexes Includes FollowSymLinks MultiViews

Esetünkben ez az ispcp.conf fájlban volt, onnan kellett törölni, illetve az ispcp sablon conf fájlból is, hogy a következő oldalaknál már ne írja bele.
4

Miért létezik valami.php?

vbence · 2010. Már. 11. (Cs), 10.50
Ha a valami_mas.php kezeli a kéréseket, mit csinál a valami.php? Lehetséges, hofy a multiviews előbb hajtófdik végre, és az URL-edben már a valami.php/2 fog szerepelni amikor a rewrite-ra kerül a sor.