为什么.htaccess重定向不起效果?

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{http_host} ^xxx.com [NC]
RewriteRule ^(.*)$ http://www.xxx.com/$1 [L,R=301]

不是在网站根目录新建.htaccess吗?访问xxx.com还是不跳转带www
我的是阿里云服务器 装的tomcat.

阅读 4.3k
2 个回答

你应该还要配置一下你服务器那一块的设置。apache 下需要添加allowoverride all。

看代码好像只是为域名加上www.前缀,以下是我常用的代码:

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
 
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

如果还不行,也许你的apache并没有开rewrite或者没有支持.htaccess。


tomcat是需要配合apache使用的,tomcat只是个Servlet容器,它不处理HTTP协议。htaccess是apache的配置,没有配apache当然无法生效。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题