.htaccess Supprimer WWW à partir de l'URL + Répertoires
Ce qui semble être un non-problème pour beaucoup de gens (lire: je ne peux pas trouver une réponse), mais je voudrais mettre à jour les éléments suivants htaccess code non seulement de supprimer les " www " dans l'URL, mais également tous les sous-répertoires qui sont accessibles.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
Avec cela, http://www.example.com/any/ résout très bien, mais je veux rediriger vers http://example.com/any/ comme avec la racine.
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même problème (problème de décapage " www " à partir d'Url qui pointent vers un sous-répertoire sur un domaine add-on), mais après quelques essais et erreurs, cela semble fonctionner pour moi:
https://www.domain.com/log-me-in
? Il sera redirigé vershttp
. J'ai donc besoin d'une autre réécriture dehttp
àhttps
droit?RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Redirection de code pour les non-www => www et en face de www => non www. Pas de coder en dur des domaines et des régimes .fichier htaccess. Donc, l'origine de domaine de et http/https version sera préservée.
APACHE 2.4 ET PLUS RÉCENT
NON-WWW => WWW:
WWW => NON WWW:
Remarque: ne fonctionne pas sur Apache 2.2 %{REQUEST_SCHEME} n'est pas disponible. Pour la compatibilité avec Apache 2.2 utiliser le code ci-dessous ou remplacer les %{REQUEST_SCHEME} fixe, http/https.
APACHE 2.2 ET PLUS RÉCENTE
NON-WWW => WWW:
... ou version plus courte ...
WWW => NON WWW:
... version plus courte n'est pas possible parce %N est disponible uniquement à partir de la dernière RewriteCond ...
NE
drapeau (noescape) ne doit pas être utilisé dans ce cas. URLexample.com/?a=1&b=2
est correctement redirigé vers par exemplewww.example.com/?a=1&b=2
. Cet indicateur doit être utilisé lorsque vous avez des caractères spéciaux dans les URL .htaccess pour rediriger par exempleRewriteRule "^/anchor/(.+)" "/bigpage.html#$1" [NE,R]
(# ne seront pas échappé à rediriger grâce à NE drapeau).SetEnvIf X-HTTPS on HTTPS=on
(X-HTTPS vient de proxy avant d'apache comme nginx), puis vous devez utiliser mentionné %{ENV:HTTPS}Je pense que vous êtes proche, mais essayez ce qui suit:
Vous ne savez pas exactement ce que tu veux dire à propos des sous-répertoires, mais cela suit votre exemple.
Je l'ai utilisé et il a travaillé pour moi
Exemple: http://www.locphen.vn/he-thong-loc-nuoc-gieng.html -> http://locphen.vn/he-thong-loc-nuoc-gieng.html
- Je utiliser ce code. Si mon visiteur n'a pas de www dans l'url alors cette condition ajoute www avec l'url, sinon pas besoin d'ajouter de www avec l'url ( parce qu'il a déjà. 🙂 )
Bonjour, le code fonctionne parfaitement, sauf qu'il passe avec les www dans l'url avec une certaine valeur et la barre oblique à la fin, il affiche le paramètre et la valeur dans l'url.
RewriteEngine On
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/plain text/xml
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(!.(\.gif|\.jpg|\.png|\.swf|\.css|\.js|\.txt|\.php|\.htm|\.html)|.+[^/])$ /$1/[R=301,NC]
RewriteRule ^(.[^.*]+)\/$ ?jogar=$1 [NC]
Options -Indexes
Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http:\/\/%1%{REQUEST_URI} [R=301,QSA,NC,L]