将.htaccess集成到httpd.conf中

时间:2011-04-11 14:31:53

标签: .htaccess httpd.conf

我在/ connect文件夹中有以下htaccess文件,我需要将它集成到httpd.conf文件中(已经有命令):

/connect/.htaccess

SetEnv APPLICATION_ENV development
RewriteEngine On
RewriteBase /connect
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

的httpd.conf

...
NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot /var/www/html/alter
ServerName www.mysite.com

 <IfModule mod_rewrite.c>
    RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
...
....

我不确定如何将上述内容纳入下方?

1 个答案:

答案 0 :(得分:2)

.htaccess本质上是httpd.conf中一个块的内容,所以你想要像

这样的东西
<Virtualhost *:80>
   DocumentRoot ...
   ServerName ...
   etc....
   <Directory /var/www/html/alter>
      ... guts of .htaccess here ...
   </Directory>
</VirtualHost>

尽管如此,一旦你感到满意,你应该只有这样的机会才能使.htaccess正常工作并且不会再被改变。对httpd.conf的任何更改都要求您退回服务器,而.htaccess更改会立即生效以用于下一个请求。