2009-07-27 8 views
0

Dans mon fichier .htaccess j'ai la règle suivante définie.conflit de règle htaccess?

RewriteRule t/([^.]+)/$ /video/tag.php?tag=$1 [QSA] 

Cette règle fonctionne correctement pour les pages d'étiquettes. Quand j'accède à l'URL en tant que http://example.com/video/t/funny/ alors son affichage tout le résultat avec la balise drôle.

Mais lorsque j'accède à une URL http://example.com/video/script/common/video.php Ensuite, il affiche la page TAG avec les résultats du tag de recherche pour le tag common. Je pense qu'il y a une certaine contradiction entre l'URL et la règle .htaccess.

En prenant /t/common/ et en appliquant la règle htaccess à ce sujet. Comment résoudre ce problème ??

Répondre

2

Votre règle de réécriture correspond à la chaîne en question. Vous voulez changer pour ressembler à ceci:

RewriteRule ^/video/t/([^.]+)/$ /video/tag.php?tag=$1 [QSA] 

Fondamentalement, ce qui se passe est que, puisque vous ne l'avez pas spécifié le début de votre règle, il a été assortit la fin de « script » dans votre URL et prendre loin de là.

Si vous voulez une chaîne moins spécifique, essayez celui-ci:

RewriteRule /t/([^.]+)/$ /video/tag.php?tag=$1 [QSA] 
+0

Quand je suis en ajoutant 'RewriteRule ^/vidéo/t /([^.]+)/$ /video/tag.php? tag = $ 1 [QSA] 'rul dans mon fichier .htaccess du dossier' video' alors il me donne 404 page introuvable erreur? – Prashant

+0

Essayez l'autre règle alors. La première règle que je mettrais fonctionnerait mieux dans la racine de votre domaine. –

+0

Oui, le premier fonctionne mieux à la racine de ma demande. Mais pour travailler la règle dans l'htaccess de mon dossier vidéo, j'ai ajouté 'RewriteRule^t /([^.]+)/$ /video/tag.php?tag=$1 [QSA]' et ça marche pour moi. Merci – Prashant