2015-11-20 3 views
1

im en utilisant ce code htaccess ..Mauvaise .htaccess Redirection

RewriteRule ^city/barcelona ?what=2&type=barcelona 
 
RewriteRule ^city/newyork ?what=2&type=newyork 
 
RewriteRule ^city/paris ?what=2&type=paris 
 
RewriteRule ^city/london ?what=2&type=london 
 
RewriteRule ^city/milan ?what=2&type=milan 
 

 
RewriteRule ^city ?what=3 [L]

Mais, quand j'ouvre www.example.com/city/tokyo, il ouvre www.example. com/city (il n'y a pas d'option tokyo .. il doit retourner la page 404)

Comment corriger mon code htaccess?

(par exemple .. je peux dire quelque chose comme ça: si la ville est NewYork, Paris ou Londres, cette règle ne rewrite .. autre = 404)

+0

@anubhava its ok .. page milan est ouvert (ce = 2 & type = milan?). –

+0

Ensuite, quelle URL ne fonctionne pas et quelle est l'erreur? – anubhava

+0

je corrige la question .. par exemple, si j'ouvre www.example.com/city/tokyo, le navigateur ouvre www.example.com/city (il doit retourner 404) .. il n'y a pas d'option tokyo .. –

Répondre

1

Il se produit en raison des points d'ancrage ne sont pas utilisés dans votre règles. Par conséquent, votre dernière règle correspond toujours à n'importe quel URI commençant par `/ city.

Ont ainsi:

RewriteRule ^city/barcelona/?$ ?what=2&type=barcelona [L,QSA] 
RewriteRule ^city/newyork/?$ ?what=2&type=newyork [L,QSA] 
RewriteRule ^city/paris/?$ ?what=2&type=paris [L,QSA] 
RewriteRule ^city/london/?$ ?what=2&type=london [L,QSA] 
RewriteRule ^city/milan/?$ ?what=2&type=milan [L,QSA] 

RewriteRule ^city/?$ ?what=3 [L,QSA] 
+1

merci beaucoup :) –