2009-12-20 6 views
0

Comment définir une redirection 301 dans .htaccess pour ajouter la barre oblique à votre racine de document si quelqu'un vous relie sans elle? Selon la recherche que j'ai faite la plupart des moteurs de recherche considèrent l'URL suivante comme deux URL différentes.301 redirect - ajouter une barre oblique pour la page d'index

mydomain.com (pas slash)

de mydomain.com/ (slash)

J'ai essayé ce (ainsi que beaucoup d'autres):

RewriteRule^http://www.mydomain.com/ $ [R = 301, L]

Cela le jette dans une boucle en chargeant la page encore et encore.

Répondre

0

Je pense que vous avez tiré des conclusions incorrectes de votre recherche. Pour HTTP, l'URL racine sans barre oblique est spécifiée comme étant égale à la barre oblique:

Notez que le chemin absolu ne peut pas être vide; Si aucun n'est présent dans l'URI d'origine, il DOIT être donné comme "/" (la racine du serveur). [RFC 2616 Section 5.1.2]

Par conséquent, si l'URL d'origine est seulement un nom de domaine qui ne se termine pas par une barre oblique (à savoir le chemin absolu serait vide), cette URL sera prolongée par une barre oblique. Vous n'avez rien à faire. En ce qui concerne votre problème: En raison des subtilités de mod_rewrite, la première barre oblique est omise, donc votre RewriteRule a capturé l'URL racine et envoyé le demandeur dans une boucle de redirection.

0

Vous pouvez essayer quelque chose comme ça

vous assurer un domaine sans harmoniser à un/et sinon faire la redirection.

RewriteCond %{HTTP_HOST} ^mydomain\.com$ 
RewriteRule ^(.*)$ http://mydomain.com/$1 [L,R=301]