繁体   English   中英

.htaccess重写,除了一个子文件夹

[英].htaccess Rewrite except one subfolder

我的.htaccess中有一些重写规则,并且我想添加一个例外子文件夹,以便当用户链接到该子文件夹时,mod_rewrite会停止重写。

我特殊的子文件夹是http://simplyservices.gr/aivali当有人到达此URL时,mod_rewrite遵循我添加的规则,最终用户看不到aivali的内容这是我的.htaccess

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/aivali/ [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^([^/]*)\.html$ /new1/products.php?kategory=$1 [L]
RewriteRule ^([^/]*)/([^/]*)\.html$ /new1/products.php?kategory=$1&subkategory=$2 [L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)\.html$ /new1/products.php?kategory=$1&subkategory=$2&id=$3 [L]

我已经尝试了同一篇文章中提到的所有内容,但没有任何效果。 我认为这在我的RewriteRules中有问题。

谢谢

RewriteConds仅掩盖每个下面的RewriteRule。

因此,您的!-f!-d!-d检查仅适用于第一次。 除非确实有dir/dir/*.html文件,否则一开始可能是多余的。

现在更有趣的是RewriteCond %{REQUEST_URI} !^/aivali/ [NC]也只是掩盖了第一个RewriteRule。 但是第一个RewriteRule只匹配basename.html ,从不匹配aivali/sub.html东西

您应该将RewriteCond-exception移动到第二个RewriteRule的前面,因为那是主要捕获它的那个。

暂无
暂无

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

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