J'ai ceci dans mon fichier .htaccess:
RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule (.*) http://www.example.com$1 [R=301,L]
mais chaque fois que j'accède à un fichier sur ma racine comme http://example.com/robots.txt
il sera redirigé vers http://www.example.comrobots.txt/
.
Comment puis-je corriger cela pour qu'il redirige correctement vers http://www.example.com/robots.txt
?
blog.example.com
devientwww.blog.example.com
Voici la bonne solution qui prend en charge https et http:
la source
www
comme le font les autres solutions génériques.yoursite.co.uk
Pour Https
la source
^(.*)$
au lieu de(.*)
?L'exemple suivant fonctionne à la fois sur ssl et non-ssl et est beaucoup plus rapide car vous n'utilisez qu'une seule règle pour gérer http et https
[Testé]
Cela redirigera
http
à
https
à
la source
Essayez ceci, je l'ai utilisé dans de nombreux sites Web, cela fonctionne parfaitement
la source
J'ai testé toutes les solutions ci-dessus mais ne fonctionne pas pour moi, j'ai essayé de supprimer le http: // et je ne redirige pas également supprimé le www il redirige bien, donc je suis confus, en particulier je lance tous mes sites sous https : //
J'ai donc combiné certains codes et j'ai trouvé une solution parfaite pour http: // et https: // et www et non-www.
J'espère que cela peut aider quelqu'un :)
la source
Ajoutez le code suivant dans le fichier .htaccess.
Le didacticiel de redirection d'URL peut être trouvé à partir d'ici - Redirigez non-www vers www et HTTP vers HTTPS à l'aide du fichier .htaccess
la source
Cette configuration a fonctionné pour moi dans bitnami wordpress avec SSL configuré:
Ajout de ce qui suit sous "RewriteEngine On" dans le fichier /opt/bitnami/apps/wordpress/conf/httpd-app.conf
la source
Cela redirigera votre domaine qui n'est pas démarré avec WWW. Cela ne redirigera pas tout votre sous-domaine.
C'est utile.
la source
Je pense que la meilleure réponse redirige avec succès non-www vers www (ex: mysite.com -> www.monsite.com ), mais ne prend pas en compte les sous-domaines génériques, ce qui entraîne:
Voici une solution avec / sans HTTPS
HTTP
HTTP / HTTPS
* Remarque: je n'ai pas testé https car je n'ai actuellement pas de certificat à tester, mais si quelqu'un peut vérifier ou optimiser ce que j'ai, ce serait génial.
la source
Si possible, ajoutez-le au fichier de configuration principal d'Apache. C'est une solution plus légère, moins de traitement requis.
Ainsi, le séparé
VirtualHost
pour "example.com" capture ces demandes et les redirige en permanence vers votre mainVirtualHost
. Il n'y a donc pas d'analyse REGEX à chaque requête, et vos navigateurs clients mettront en cache la redirection pour ne plus jamais (ou rarement) demander la "mauvaise" URL, vous épargnant ainsi la charge du serveur.Remarquez, la barre oblique de fin
Redirect permanent / http://www.example.com/
. Sans cela, une redirection deexample.com/asdf
redirigerait vershttp://www.example.comasdf
au lieu dehttp://www.example.com/asdf
.la source
Deux avertissements
Évitez 301 et préférez les codes de statut de réponse 303 ou 307 modernes.
Éviter 301
Réfléchissez bien si vous avez vraiment besoin de la redirection permanente indiquée,
[R=301]
car si vous décidez de la modifier plus tard, les visiteurs précédents de la page continueront à voir la page de la redirection d'origine.Les informations de redirection permanente sont fréquemment stockées dans le cache du navigateur et, en général, elles sont difficiles à éliminer (recharger la page ne résout pas le problème). Les visiteurs de votre site Web seront bloqués dans la redirection précédente "pour toujours".
Évitez 302 aussi
La nouvelle version du protocole HTTP (v1.1) a ajouté deux nouveaux codes d'état de réponse qui peuvent être utilisés au lieu de 302.
303
Redirection d'URL mais exigeant de changer le type de requête en GET.307
Redirection d'URL mais exigeant de conserver le type de requête comme initialement envoyé.Vous pouvez toujours utiliser le code
302
(redirection non permanente) bien qu'il soit considéré comme ambigu. Dans tous les cas, la plupart des navigateurs implémentent302
de la même manière que le nouveau303
code l'indique.la source
http://example.com/testing
vershttp://www.example.com/testing
. Cela pourrait-il être une mauvaise approche à long terme? Merci,Écrivez en .htaccess :)
la source