2009-07-09 5 views
6

J'ai la règle suivante dans mon fichier .htaccess actuel pour rediriger /videos/login/ demandes de /videos/login.phphtaccess règle à transmettre/login/et/se connecter à la même page?

RewriteRule login/ /videos/login.php 

Cela fonctionne bien si je suis la page de connexion d'accès à l'aide http://mysite.com/videos/login/ mais quand je suis en train d'accéder à la même page en utilisant http://mysite.com/videos/login (sans fin de slash) alors il me donne l'erreur "404 page non trouvée".

Veuillez me dire quelle sera la règle correcte du fichier .htaccess afin que toute demande pour http://mysite.com/videos/login/ ou http://mysite.com/videos/login pointe vers la même page /videos/login.php.

Merci

Répondre

13

Assurez le slash en option:

RewriteRule ^videos/login/?$ /videos/login.php 

Mais vous devez utiliser mieux juste une variante (avec ou sans slash) et rediriger un à l'autre:

# add trailing slash 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule .*[^/]$ /$0/ [L,R=301] 

# remove trailing slash 
RewriteRule (.*)/$ /$1 [L,R=301] 
+0

@Gumbo Votre Règle fonctionne bien, son ouverture la même page avec et sans barre oblique, mais je veux que quand quelqu'un accédera à/videos/login, il sera redirigé vers/videos/login/est-il possible d'utiliser htaccess. – Prashant

+0

Je viens de mentionner les deux options. Si vous voulez la barre oblique, utilisez la première. – Gumbo

+0

Mais la barre oblique #add ajoutera des barres obliques à toutes mes URL, ce que je ne veux pas, il y a quelques URL sélectionnées pour lesquelles je veux cette fonctionnalité – Prashant

1

Utilisation de mod_rewrite

RewriteEngine On 
RewriteCond %{REQUEST_URI} ^/videos/login/?$ 
RewriteRule (.*) /videos/login.php [L,R=301] 
0
redirect 301 /videos/login/index.html http://yoursite.com/videos/login.php 

The server will change the address http://mysite.com/videos/login/ and http://mysite.com/videos/login both to http://mysite.com/videos/login/index.html, based on the configuration but this is default. Before it encounters a 404 this address is redirected to the new one. At least this works at my site.

dû utiliser avant parce que le site me laisse posterai un seul lien:/

2

Ce beau travail pour moi:

RewriteRule^login (/ |) /videos/login.php $

Questions connexes