合并2 .htaccess文件

时间:2011-09-19 09:52:58

标签: wordpress .htaccess mod-rewrite

我有2个.htaccess文件,我需要合并在一起。一个是由wordpress生成的,另一个是站点的现有.htaccess文件。这2个文件如下:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.mywebsite\.com$
RewriteRule ^(.*)$ http://www.mywebsite.com/$1 [R=301]

RewriteRule ^postreview/$ /viewreview.php [NC,PT,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^.*$ ./template2.php  


<IfModule mod_security.c>  
  # Turn off mod_security filtering.  
  SecFilterEngine Off  

  # The below probably isn't needed,  
  # but better safe than sorry.  
  SecFilterScanPOST Off  
</IfModule> 

php_flag session.use_trans_sid off 

wordpress生成的第二个文件:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /projectcars/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /projectcars/index.php [L]
</IfModule>

我已经尝试了几种方法来组合它们,但我得到了重定向错误或内部服务器错误。

1 个答案:

答案 0 :(得分:6)

这是我的修复:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.domain.com [NC]
RewriteRule (.*) http://www.domain.com/$1 [R=301,L]

RewriteBase /

RewriteRule ^postreview(\/?)$ /viewreview.php [QSA,NC,PT,L]

RewriteRule ^projectcars/index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^projectcars/(.*)$ /projectcars/index.php [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) template2.php [NC,L]

<IfModule mod_security.c>  
 SecFilterEngine Off  
 SecFilterScanPOST Off  
</IfModule> 

php_flag session.use_trans_sid off