我想在网址中隐藏'main'文件夹。所以,如果有一个像:
这样的文件my_domain.com/main/something.php
我明白了:
my_domain.com/something.php
我找到的最佳解决方案是:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+main/([^\s]+) [NC]
RewriteRule ^ %1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (?!^main/)^(.*)$ /main/$1 [L,NC]
它工作正常,但在URL中只有'my_domain.com'的情况下没有 然后我得到“你没有权限访问/在这台服务器上使用main。”因为网址可能已更改为“my_domain.com/main /”
如果仅在URL中存在多个域时才能将其修改为有效?
答案 0 :(得分:0)
您可以使用:
RewriteCond %{THE_REQUEST} \s/+main/([^\s]+) [NC]
RewriteRule ^ %1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^((?!^main/).+)$ /main/$1 [L,NC]