Apache重写规则httpd-vhosts.conf

时间:2014-04-21 23:21:58

标签: apache mod-rewrite vhosts

我有一个具有以下规则的VHOST

RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteRule ^.*$ /router.php [NC,QSA,L]

几乎只是让每个URL都通过高级路由系统

然而,当尝试使用WordPress设置我的新闻系统时,它变成了冲突。

我需要帮助的是创建一个新的重写规则,将所有路由器放在一个目录之外,例如名为“wordpress”。

它全部在我的本地机器上,但这是整个VHOST配置

 <VirtualHost *:80>
   DocumentRoot "/Users/tyler/Documents/mysite"
   ServerName mysite.local

   RewriteEngine on
   RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
   RewriteRule ^.*$ /router.php [NC,QSA,L]

   <Directory "/Users/tyler/Documents/mysite">
     AllowOverride All
     Order allow,deny
     Allow from all
   </Directory>

 </VirtualHost>

1 个答案:

答案 0 :(得分:0)

  

我需要帮助的是创建一个新的重写规则来完成所有操作   路由器,但一个目录除外,例如命名   “WordPress的。”

根据该标准,您应该将以下规则添加到组合中:

RewriteCond %{REQUEST_URI} !^/wordpress

现在整个规则集如下:

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/wordpress
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteRule ^.*$ /router.php [NC,QSA,L]