2010-02-10 9 views
2

Comment venir celui-ci fonctionne:question mod rewrite

RewriteEngine On 

RewriteCond %{REQUEST_URI} ^/book/blabla$ 
RewriteRule ^.+$ /book/?name=blabla [NC,L] 

Mais celui-ci ne fonctionne pas? J'ai essayé beaucoup de choses mais cela me rend confus.

Répondre

2

Si vous utilisez mod_rewrite dans un fichier .htaccess, le contextual per-directory prefix of the URL path is removed avant de tester les règles:

Comme vous le verrez ci-dessous, RewriteRule peut être utilisé dans les fichiers de configuration par répertoire (.htaccess ). Dans un tel cas, il agira localement, supprimant le préfixe du répertoire local avant le traitement et appliquant les règles de réécriture uniquement au reste.

Cela signifie que si vous utilisez mod_rewrite dans le fichier .htaccess dans le répertoire racine (/), ce préfixe de chemin est retiré du chemin d'URL. Donc, /book/blabla est réduit à book/blabla. Votre modèle de règle doit refléter ce comportement:

RewriteRule ^book/blabla$ /book/?name=blabla [NC,L] 
+0

Réponse parfaite! – EarthMind