我只想重写子文件夹的 ROOT ,这意味着:
如果我转到:localhost/a/b/
,则应将其重定向到localhost/a/
,但localhost/a/b/c/
应该保持不变。因此,仅直接发送到子文件夹 b 的请求将被重写,而在 b 目录下的内容将不会被重写,例如 c 。
我已经尝试过一些类似的事情:
RewriteCond %{HTTP_HOST} !^b$
RewriteRule ^$ /a [L,R=301]
或
RewriteRule ^/$ /a
或
RewriteRule ^/a/b/$ /a
我似乎找不到正确的解决方案。
答案 0 :(得分:1)
您可以在网站根.htaccess中使用此规则:
RewriteEngine On
RewriteRule ^a/b/?$ /a [L,NC]
这是假设您的系统中没有其他.htaccess,这是首要规则。
如果要在a/.htaccess
中执行此操作,则:
RewriteRule ^b/?$ /a [L,NC]
如果要在a/b/.htaccess
中执行此操作,则:
RewriteRule ^/?$ /a [L]