0

当用户遇到 404 错误时,我需要重定向到上一个目录。例如,如果www.examplesite.com/aaa/bbb/ccc/page.html找不到页面,我将用户重定向到www.examplesite.com/aaa/bbb/ccc/,如果www.examplesite.com/aaa/bbb/ccc/找不到,则重定向到www.examplesite.com/aaa/bbb/等等。www.examplesite.com/aaa/bbb/ccc/page.html唯一的问题是(在这个例子中)用户应该www.examplesite.com/aaa/bbb/从不加载www.examplesite.com/aaa/bbb/ccc

有任何想法吗?谢谢。

4

1 回答 1

0

尝试将此添加到文档根目录中的 htaccess 文件中:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/[^/]+$ /$1/ [L,R=301]

说,你请求www.examplesite.com/aaa/bbb/ccc/page.html,而 page.html 不存在,你会被重定向到:www.examplesite.com/aaa/bbb/ccc/如果那个目录不存在,你会被重定向到:www.examplesite.com/aaa/bbb/如果那个目录不存在,你会得到重定向到: www.examplesite.com/aaa/,如果目录不存在,那么你最终会得到一个 404。

如果您想要它,那么最后一步会将您带到根目录,然后将最后一行更改为:

RewriteRule ^(.*?)/?[^/]+$ /$1/ [L,R=301]
于 2013-04-26T00:15:59.647 回答