重写 URL - 2 变量而不更改当前重写


Rewriting a URL - 2 variable without altering current rewrites

我已经完成了我需要的大部分重写,但我无法让第二部分使用 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,但允许我保持其他目录不被重写,例如/include/?

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

RewriteRule directoryName/? - [L]

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