在搜索了所有其他解决方案之后,我还没有在stackoverflow上找到一个有效的例子。
我的主网站相应地重定向,但是当我想对子文件夹/管理文件夹执行相同的操作时,它会继承父搜索模式,并且不会使用admin文件夹中的登录页面。
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(/$|\.)
RewriteRule (.*) %{REQUEST_URI}/ [R=301,L]
RewriteRule ^/?(.*)\ (.*)$ /$1-$2 [R=301,L]
要允许访问admin子文件夹,我有另一个htaccess文件:
RewriteEngine Off
为了澄清我确实试图打开这个文件夹htaccess,这样我可以重定向查询,只关闭它已成功访问admin子文件夹,但任何尾随查询都会回到主站点。
我在htaccess文件
上尝试了以下内容RewriteRule ^admin/$ admin/index.php [QSA,L]
将其关闭,然后在子目录htaccess中重新打开。
RewriteEngine Off
RewriteEngine On
请告知谢谢。
答案 0 :(得分:1)
这样做:
<强> DocumentRoot/.htaccess
强>:
RewriteEngine On
RewriteBase /
# strip spaces
RewriteRule ^/?(.*)\ (.*)$ /$1-$2 [R=301,L]
## add a trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(/$|\.)
RewriteRule (.*) %{REQUEST_URI}/ [R=301,NE,L]
<强> /admin/.htaccess
强>:
DirectoryIndex index.php
RewriteEngine On
RewriteBase /admin/
RewriteRule ^index\.php$ - [L,NC]
# forward everything to index.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]