2010-10-02 7 views
0
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteRule ^browse/videos/(.*)/(.*)/(.*)/(.*) /videos.php?sortby=$1&filter=$2&page=$3&title=$4 
RewriteRule ^videos/(.*)/(.*) /playvideo.php?videoid=$1&title=$2 
</IfModule> 

url www.example.com/browse/videos/z/0/1/LastAdded va videos.phpproblème mod_rewrite Apache 2

mais url www.exaple.com/videos/10/play .html va aussi à videos.php pas à playvideo.php

Pourquoi?

+0

Il semble que Gumbo vous ait donné la réponse dont vous aviez besoin. Si oui, veuillez accepter sa réponse en cliquant sur la coche à côté de sa réponse. – bradym

Répondre

0

Cela peut être dû à MultiViews. Essayez de le désactiver avec:

Options -MultiViews 

De plus, vous devez utiliser modèle plus spécifique que .*, par exemple [^/]+:

RewriteRule ^browse/videos/([^/]+)/([^/]+)/([^/]+)/([^/]+)$ /videos.php?sortby=$1&filter=$2&page=$3&title=$4 
RewriteRule ^videos/([^/]+)/([^/]+)$ /playvideo.php?videoid=$1&title=$2 
+0

Je trouve Options de Index de MultiViews [...] après la suppression de tout MultViews fonctionne bien. Merci! –

+0

@ user464492: De rien! – Gumbo

0

Vous ne savez pas pourquoi cela vous concerne, mais de toute façon vous devriez utiliser quelque chose comme ça.

RewriteRule ^browse/videos/(.+)/(.+)/(.+)/(.+) /videos.php?sortby=$1&filter=$2&page=$3&title=$4 [L] 
RewriteRule ^videos/(.+)/(.+) /playvideo.php?videoid=$1&title=$2 [L] 
0

Il fonctionne pour moi. Pour traquer pourquoi il ne fonctionne pas pour vous, vous devez activer la journalisation mod_rewrite:

RewriteLogLevel 9 
RewriteLog logs/rewrite.log 

vous devriez essayer de comprendre ce qui est écrit là-bas. Et si vous ne le comprenez pas, postez-le ici et nous essaierons de l'expliquer.

+0

après la suppression de MultViews dans Options tout fonctionne bien –