Apache没有';在httpd.conf中尝试强制WWW

Apache没有';在httpd.conf中尝试强制WWW,apache,mod-rewrite,httpd.conf,Apache,Mod Rewrite,Httpd.conf,我正试图强制Apache的httpd.conf文件中的WWW.而不是.htaccess来提高性能。但是,当我将这些行粘贴到httpd.conf的第一行并重新启动服务器时,Apache说,“请求的操作失败了!” 为什么会发生这种情况,我如何解决这个问题?似乎您正在尝试在不加载模块的情况下开始重写。无论如何,在VirtualHost中配置这类东西通常更好,因为您正在为某个站点映射重写。 你得到的错误基本上只是意味着你有一个语法错误 <VirtualHost *:80> <IfMo

我正试图强制Apache的httpd.conf文件中的WWW.而不是.htaccess来提高性能。但是,当我将这些行粘贴到httpd.conf的第一行并重新启动服务器时,Apache说,“请求的操作失败了!”


为什么会发生这种情况,我如何解决这个问题?

似乎您正在尝试在不加载模块的情况下开始重写。无论如何,在VirtualHost中配置这类东西通常更好,因为您正在为某个站点映射重写。 你得到的错误基本上只是意味着你有一个语法错误

<VirtualHost *:80>
 <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^www\.
    RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
  </IfModule>    
</VirtualHost>

重新启动发动机
重写cond%{HTTP_HOST}^www\。
重写规则^http://www.%{HTTP_HOST}%{REQUEST_URI}[R=301,L]

您在哪里读到有关此性能提升的信息?@Stijn Apache官方文档。这是一个相当小的性能提升,您可能需要进行其他特定于应用程序的重写。一旦你这样做了,你就会失去任何可以忽略不计的增加,你会把它放在httpd.confOK,只是想知道,因为这对我来说似乎是一个微观优化,而在全局配置中隐藏一个站点的配置似乎是肮脏的。我会记住这些。谢谢。我取消了重写模块的注释,现在服务器启动,WWW.被强制。但是,在取消对模块的注释之前,我复制并粘贴了您的代码,但它不起作用。谢谢你的建议!
<VirtualHost *:80>
 <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^www\.
    RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
  </IfModule>    
</VirtualHost>