Jim*_*ers 3 mod-rewrite ruby-on-rails apache2 passenger vhosts
我的客户希望使用301重定向来强制其网站上的"www"子域.所以'example.com/something'解析为'www.example.com/somthing'等.
我想要做的只是将其添加到我的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>
Run Code Online (Sandbox Code Playgroud)
我还确保通过以下方式启用了mod重写:
sudo a2enmod rewrite
sudo /etc/init.d/apache2 force-reload
Run Code Online (Sandbox Code Playgroud)
我目前努力的结果似乎基本上是成功的.Apache重新启动,一切都按预期工作除了重写没有发生.所以'www.example.com'和'example.com'都解决了.浏览器不会被重定向到"www.example.com".有任何想法吗?我已经尝试重新加载配置并重启apache几次,但我似乎无法让重写规则正常工作.我是通过将它们放在vhost中而不是.htaccess文件中将它们设置在错误的位置吗?
这里的任何建议都会有用.我完全不知所措.
che*_*vim 11
将它放在VirtualHost主条目下面:
<VirtualHost *:80>
ServerName example.com
RedirectMatch permanent ^/(.*) http://www.example.com/$1
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
您的主要VirtualHost应该具有ServerName www.example.com条目,并且没有别名或重定向.此外,此重定向不需要mod_rewrite.
归档时间: |
|
查看次数: |
3153 次 |
最近记录: |