在不改变当前重写的情况下重写URL-2变量

时间:2012-05-27 19:42:06

标签: php apache mod-rewrite

我有大部分需要工作的重写但是我不能让第二部分使用2个变量,这是我的代码:

    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ entity.php?vanityName=$1 [L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^/]*)/([^/]*)$ /entity.php?vanityName=$1&section=$2 [L]

最后一位需要允许,例如http://example.com/vanityName/Section但是它不传递section变量。 如何在保留当前重写的同时解决此问题?

我怎样才能获得它,因此它适用于/ vanityName,/ vanityName / section但允许我保持其他目录不被重写,例如/ includes /?

1 个答案:

答案 0 :(得分:0)

您可以为您不想重写的每个目录添加额外规则:

RewriteRule directoryName/? - [L]

如果您在RewriteBase /之后直接编写这些规则,则不会检查其他规则。