从根文件夹中的htaccess规则排除子目录
我在我的网站的根文件夹下使用以下htaccess规则删除文件扩展名并在末尾添加尾部斜杠。但是,我想从根文件夹htaccess规则中排除子目录/ sub-dir /。我试图添加另一个htaccess到/ sub-dir /文件夹,并将RewriteOptions inherit
或RewriteEngine Off
放入文件中,但它们都不起作用。从根文件夹中的htaccess规则排除子目录
RewriteEngine On
RewriteBase/
# redirect from non-www to www
RewriteCond %{HTTP_HOST} ^mywebsite.com.au$ [NC]
RewriteRule ^(.*)$ http://www.mywebsite.com.au/$1 [R=301,L]
RewriteCond %{REQUEST_URI} ^/index.php$
RewriteRule ^(.*)index.php$ http://www.mywebsite.com.au/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{THE_REQUEST} ^GET\ /[^?\s]+\.php
RewriteRule (.*)\.php$ /$1/ [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)/$ $1.php [L]
# Remove trailing slash:
RewriteRule (.*)/$ $1 [L]
# Now test without the trailing slash:
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule . %{REQUEST_FILENAME}.php [QSA,L]
任何建议,非常感谢。
感谢
您可以尝试添加在你的子目录中有只有这一个htaccess文件:
RewriteEngine On
RewriteRule^- [L]
无任何继承选项。继承意味着您希望父htaccess中的规则也可以与子目录的htaccess文件中的任何规则一起应用。有了这个,你可以确保重写引擎处于打开状态,并制定一个“无所作为”的传递规则。
否则,您可以在根的htaccess文件(右下方RewriteBase
)的顶部添加直通:
RewriteRule ^sub-dir/ - [L]
我试过{RewriteEngine On RewriteRule^- [L]},它的功能就像一个魅力。谢谢你 – Webnerdoz 2014-10-22 03:44:39
谢谢!它为我工作! – ppalancica 2015-01-10 03:59:54
谢谢,好的:) – 2017-01-06 13:08:30
你看看这里? http://*.com/a/13842523/2696690 – Winter 2014-10-22 03:24:41
@Winter是的。我试过了。我认为它不起作用,因为我的htaccess文件的规则是不同的。 – Webnerdoz 2014-10-22 03:39:51