[英].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.