根据我在Apache上阅读的内容,我使用了以下示例,他们提供了在我的所有网站上进行301重定向。
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]
这并不像他们所说的那样有效。如果我试试www.domain.com就行了。如果我尝试使用domain.com,我会收到www.domain.com//home/www/public_html/www.domain.com
看起来它想要在重定向中包含DOCUMENT_ROOT。我最好为每个网站创建一个单独的.htaccess吗?
什么运行得更快 - Apache或HTACCESS?
答案 0 :(得分:0)
使用Apaches httpd.conf
的速度更快,因为访问.htaccess
文件会增加一小笔开销--Apache会检查文件的每个目录和父目录,并且会为每个请求加载它。
当您有权访问时,使用httpd.conf
会更好。如果您无权访问主配置文件,请使用.htaccess
。
答案 1 :(得分:0)
试试这个。确保包含RewriteBase /
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
如果您仍然获得旧结果your previous 301 redirect is probably cached,请在私密(隐身)浏览模式下重新测试。