Question

Mes clients veulent utiliser redirections 301 pour forcer le sous-domaine « www » sur leurs sites. Donc, 'example.com/something' décide de 'www.example.com/somthing' etc.

Ce que je suis en train de faire est d'ajouter simplement à mon fichier vhost:

<VirtualHost *:80>
  ServerAdmin webmaster@localhost     
  ServerName  example.com
  ServerAlias www.*
  DocumentRoot /data/apps/example.com/current/public
  RailsBaseURI / 

  RewriteEngine On
  RewriteCond %{HTTP_HOST} ^example\.com
  RewriteRule ^ http://www.example.com%{REQUEST_URI} [L,R=301]
</VirtualHost>

Je l'ai également fait en sorte que mod rewrite a été activé via:

sudo a2enmod rewrite
sudo /etc/init.d/apache2 force-reload

Le résultat de mes efforts actuels semble essentiellement pour réussir. Apache redémarre et tout fonctionne comme prévu à l'exception du rewrite ne se produit pas. Donc, à la fois « www.example.com » et détermination « example.com ». Le navigateur ne soit pas redirigé vers « www.example.com » quand il faut. Des idées? J'ai essayé de recharger la configuration et redémarrer apache à plusieurs reprises, mais je ne peux pas sembler obtenir les règles de réécriture de travail. Suis-je les mettre en place au mauvais endroit en les plaçant ici dans le vhost au lieu d'un fichier .htaccess?

Tout conseil serait ici utile. Je suis complètement dérouté.

Était-ce utile?

La solution

Mettre cela en dessous de votre entrée principale VirtualHost:

<VirtualHost *:80>
    ServerName example.com
    RedirectMatch permanent ^/(.*) http://www.example.com/$1
</VirtualHost>

Vous VirtualHost principal devriez avoir une entrée ServerName www.example.com et aucun alias ou réoriente. En outre, mod_rewrite n'est pas nécessaire pour cette redirection.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top