【发布时间】:2018-10-23 09:18:57
【问题描述】:
我正在尝试扁平化我的网站结构。我有类似 mydomain.com/clearos/ClearOS_7.x/7.4/README 的路径,我想更改为 /clearos/ClearOS_7.x/README。不久前,我通过将文件夹 7.4 设置为指向 /ClearOS_7.x 的符号链接来做到这一点,这很有效(除了一些网络爬虫或其他人,我认为他们会选择 /7.4/7.4/ 等。
我尝试添加不同的 .htaccess 规则,但我尝试的每个规则都会出现 http 500 内部服务器错误。 .htaccess 在文档根目录中,这些是我尝试过的(单独):
RewriteEngine on
RewriteRule (.*)/7.4/(.*) $1/$2 [R=301]
RewriteRule (.*)/7\.4/(.*) $1/$2 [R=301]
RewriteRule ^clearos/ClearOS_7\.x/7\.4/(.*)$ clearos/ClearOS_7.x/$1 [R=301,L]
在https://htaccess.madewithlove.be/https://htaccess.madewithlove.be/的 .htaccess 检查器中,所有三种表单似乎都在执行我想要的操作
如果相关,我使用的是 Apache 2.4
任何帮助将不胜感激。谢谢,尼克。
[编辑]
嗯。我看到了
AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
但是,如果我之后有一个 http -> https 重写规则,它就可以正常工作。不知道发生了什么。需要更多调查。
多玩一些,将 301 更改为 302,使用:
RewriteRule ^(.*)/7.4/(.*) $1/$2 [NC,R=302]
它不断将 mydomain.com/clearos/ClearOS_7.x/7.4/README 重写为 mydomain.com/var/www/html/clearos/ClearOS_7.x/README。我曾尝试让 Firefox 忘记该网站,但现在,无论我做什么,我都会得到相同的结果。
[/编辑]
【问题讨论】: