Actuellement, je redirige tout le trafic vers la version www.
de mon site. Cependant, en vérifiant les liens redirigés dans un dossier spécifique, j'ai remarqué quelque chose qui peut/ne peut pas être un problème.Problème htaccess avec la redirection non-www et la barre oblique finale
Fondamentalement, si je fais une vérification d'en-tête sur www.example.com/example/examplepage/
il montre 200 OK.
Si je vérifie www.example.com/example/examplepage
(sans le suivi /
) il montre 301 rediriger vers le haut comme il se doit.
MAIS, si je vérifie example.com/example/examplepage/
(sans www
), il redirige vers www.example.com/example/examplepage.php
... qui redirige ensuite www.example.com/example/examplepage/
(la bonne page).
J'espère que cela a du sens?
a) est-ce que c'est OK?
b) Ai-je oublié quelque chose dans mon .htaccess
?
RewriteOptions inherit
RewriteEngine On
RewriteCond %{THE_REQUEST} ^.*/index.htm
RewriteRule ^(.*)index.htm$ http://www.example.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
RewriteCond %{THE_REQUEST} \.php
RewriteRule ^tips/([^.]+)\.php$ http://www.example.com/example/$1/ [R=301,L]
RewriteRule ^tips/([^.]+[^./])$ http://www.example.com/example/$1/ [R=301,L]
RewriteRule ^(tips/[^.]+)/$ /$1.php [L]
S'il vous plaît noter: la règle ci-dessus PHP a été créé pour « cacher » .php
extensions sur un dossier spécifique (ne voulait pas les cachés partout ailleurs).
On ne sait pas pourquoi 'www.example. com/example/examplepage' devrait rediriger (ceci implique que toutes les URL devraient se terminer par une barre oblique)? Cependant, selon vos directives, seuls les chemins d'URL commençant par/tips/seront redirigés? – MrWhite
oui, c'est vrai - cette redirection ne s'applique qu'au dossier/tips. Peut-être que j'aurais dû préciser que la référence "tips" aurait dû être changée en "example" pour correspondre aux références de example.com - désolé ... j'espère que cela a du sens. – Lee
Je vois que vous avez changé votre exemple pour lire: "si je coche' example.com/example/examplepage/'(sans www), il redirige vers' www.example.com/example/examplepage.php' ... "- Je ne vois pas comment cela se passerait avec les directives que vous avez affichées? – MrWhite