Php 在不改变当前重写的情况下重写URL-2变量
我已经完成了我需要完成的大部分重写,但我无法让第二部分使用2个变量,以下是我的代码:Php 在不改变当前重写的情况下重写URL-2变量,php,apache,mod-rewrite,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}
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§ion=$2 [L]
例如,最后一位需要允许,但它不传递section变量。
如何在保留当前重写的同时修复此问题
如何获得它,使其适用于/vanityName、/vanityName/节,但允许我保持其他目录不被重写,如/include/?您可以为不想重写的每个目录添加额外规则:
RewriteRule directoryName/? - [L]
如果在RewriteBase/之后直接编写这些规则,则不会检查其他规则。您知道第二条规则更具体,第一条规则是全局规则。因为全局规则或者更好的说法是:将更一般的规则放在第一位,则永远不会执行更具体的规则。结论:您的htaccess将只运行到第5行,不会再运行。谢谢,我真的不知道mod_rewrite,这是我第一次使用它: