Vra

My kliënte wil 301 aansture gebruik te dwing 'www' subdomein op hul webwerwe. So 'example.com/something' besluit om 'www.example.com/somthing' ens.

Wat ek probeer doen is om hierdie eenvoudig toe te voeg tot my vhost lêer:

<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>

Ek het ook seker gemaak dat mod herskryf is in staat gestel via:

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

Die uitkoms van my huidige pogings blyk basies om suksesvol te wees. Apache weer begin en alles werk soos verwag, behalwe die herskryf gebeur nie. So beide 'www.example.com' en 'example.com' los. Die leser kry nie herlei word na 'www.example.com' wanneer dit moet. Enige idees? Ek het probeer om te herlaai die opset en apache 'n paar keer herlaai, maar ek kan nie lyk om die herskryf reëls werk te kry. Is ek die opstel van hulle in die verkeerde plek deur die plasing van hulle hier in die vhost in plaas van 'n htaccess lêer?

Enige raad hier sou nuttig wees. Ek is heeltemal oorbluf.

Was dit nuttig?

Oplossing

Sit hierdie hieronder jou hoof VirtualHost inskrywing:

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

Jy belangrikste VirtualHost moet 'n ServerName www.example.com inskrywing en geen aliasse of aansture het. Ook, is mod_rewrite nie nodig vir hierdie aanstuur.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top