.htaccess rewrite regex:匹配任何规则,但不得影响其他规则
我有这个.htaccess rewrite regex:匹配任何规则,但不得影响其他规则,regex,apache,.htaccess,mod-rewrite,Regex,Apache,.htaccess,Mod Rewrite,我有这个.htaccess当我输入example.com/home时,它将打开文件home.php并登录相同的东西,否则它将打开hani.php RewriteRule ^home$ home.php [L] RewriteRule ^login$ login.php [L] ... RewriteRule ^([^\/]+)$ hani.php?link=$1 [L] 我的问题当我回家或其他时候,它会打开hani.php 请我想要一个好的解决方案,因为我有很多页 问题是,您的上一次重写
.htaccess
当我输入example.com/home
时,它将打开文件home.php
并登录相同的东西,否则它将打开hani.php
RewriteRule ^home$ home.php [L]
RewriteRule ^login$ login.php [L]
...
RewriteRule ^([^\/]+)$ hani.php?link=$1 [L]
我的问题当我回家或其他时候,它会打开hani.php
请我想要一个好的解决方案,因为我有很多页
问题是,您的上一次重写是无条件的,并且在完成之前的其他重写之后重写,从而将所有内容发送到
hani.php
有两种解决方案(使用任意一种):
RewriteCond%{REQUEST\u FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^([^/]+)/?$hani.php?link=$1[L,QSA]
home.php
或任何包含点的请求与模式不匹配:RewriteRule^([^/]+)/?$hani.php?link=$1[L,QSA]
请注意,
mod\u rewrite
addRewriteCond%{REQUEST\u FILENAME}中的regex模式不需要转义/
-f
在最后一条规则之前或重写规则^([^./]+)/?$hani.php?link=$1[L,QSA]