繁体   English   中英

.htaccess mod_rewrite-使规则忽略文件

[英].htaccess mod_rewrite - make rule ignore a file

我创建了以下规则:

RewriteRule ^([^/]+)/?$ gallery.php?name=$1 [L,QSA,NC]

但是它仍然影响index.php文件。 所以我尝试添加此规则:

RewriteRule ^/?$ index.php [L,QSA,NC]

没有结果。

可以告诉mod_rewritte忽略文件吗?

是的,您可以使用否定的前瞻:

RewriteRule ^((?!index\.php)[^/]+)/?$ gallery.php?name=$1 [L,QSA,NC]

或使用负数RewriteCond获得相同的效果:

RewriteCond %{REQUEST_URI} !^/index\.php$ [NC]
RewriteRule ^([^/]+)/?$ gallery.php?name=$1 [L,QSA,NC]

或者只是避免使用此规则的所有文件/目录:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ gallery.php?name=$1 [L,QSA,NC]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM