2011-09-02 5 views
0

Je veux juste supprimer une barre oblique finale d'un répertoire. Par exemple, je veux /p/page/ pour apparaître comme /p/page. Ça a juste l'air mieux, n'est-ce pas?Comment supprimer une barre oblique finale?

Cependant j'ai essayé beaucoup de différents types de mod_rewrites mais aucun n'a fonctionné ou quelque chose s'est produit.

Je veux juste que cela s'applique aux sous-dossiers (mieux encore, une barre oblique dans un dossier dans un dossier dans un dossier comme /a/b/c), non /p/ car cela pourrait affecter d'autres parties de mon site d'une manière négative.

Répondre

0

Vous pouvez essayer d'ajouter la ligne suivante dans votre fichier .htaccess:

DirectorySlash Off 

qui a résolu le problème pour moi il y a un certain temps. Bien sûr, si le chemin est seulement /, je ne pense pas que vous pouvez vous en débarrasser.

+0

Il m'a donné une erreur interne du serveur 500. T_T – SkyPilot

+0

C'est bizarre, êtes-vous sûr de l'avoir tapé correctement? Peut-être vérifier le journal des erreurs Apache pour voir ce qu'il a dit? – animuson

+0

Je suis sûr. Je viens de copier et coller votre commentaire exact. J'ai alors décidé d'inclure Rewrite Engine On mais je l'ai quand même eu. Ou devais-je faire autre chose? – SkyPilot

0

Copiez ce code dans votre fichier .htaccess racine (directement sous DOCUMENT_ROOT):

Options +FollowSymLinks 
RewriteEngine on 

RewriteCond %{REQUEST_URI} !/$ 
RewriteRule^%{REQUEST_URI}/ [L] 

DirectorySlash Off 
RewriteCond %{THE_REQUEST} ^GET\s(.*)/\s 
RewriteRule^%1 [R=302,NE,L] 

Il externe rediriger http://localhost/blog/-http://localhost/blog tout en affichant par défaut index.html ou index.php ou tout sous le répertoire /blog.

+0

Vous utilisez la même option DirectorySlash à laquelle l'OP n'a apparemment pas accès. Voir ci-dessous. – animuson

+0

Même chose, une erreur interne du serveur 500. Je ne sais pas pourquoi cela se produit, et cela ne se produit que lorsque DirectorySlash est utilisé. – SkyPilot

+0

Apache ajoute automatiquement une barre oblique après les noms de répertoires dans l'URL, donc si vous voulez changer ce comportement, alors 'DirectorySlash Off' est nécessaire. Pouvez-vous regarder dans error.log et voir que l'erreur Apache écrit dedans. – anubhava

Questions connexes