1

我想从我的 apache2 域中删除“www” 。我尝试了很多用文件来做的例子,.htaccess但它们都不起作用。所以这是我的.htacces,由用户root拥有,chmod 644:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^your-site.com$ [NC]
RewriteRule ^(.*)$ http://your-site.com/$1 [L,R=301]

这不是删除 www如果我http://your-site.com在浏览器(Firefox)中输入,它会将我重定向到www.your-domain.comstil。 编辑:这是浏览器的失败,但是上一页。存在问题。

我的 apache2 已经为这个主域设置了,这www.就是我所有的 .htaccess。

4

2 回答 2

1

在 apache 日志中查找错误:

无效的命令“RewriteEngine”,可能拼写错误或由未包含在服务器配置中的模块定义

所以问题是apache2配置错误......

用命令解决:sudo a2enmod 从这个线程重写:https ://stackoverflow.com/a/11649987/1725341

于 2012-10-08T18:03:46.073 回答
1

我在No WWW, Better SEO中使用的简单解决方案是使用以下内容开始每个 .htaccess:

RewriteEngine On
RewriteBase /

# FROM www. --TO-- NO www.
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

这只是一个简单的剪切和粘贴。这是我在数百个站点和域上拥有的每个 .htaccess 的第一件事。

于 2012-10-16T04:57:23.683 回答