【问题标题】:htaccess: remove portion of url gives Internal Server Accesshtaccess:删除部分 url 提供内部服务器访问权限
【发布时间】: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 忘记该网站,但现在,无论我做什么,我都会得到相同的结果。

[/编辑]

【问题讨论】:

    标签: apache .htaccess


    【解决方案1】:

    好吧,答案好像是补充:

    RewriteBase "/"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-26
      • 1970-01-01
      • 1970-01-01
      • 2021-11-10
      • 1970-01-01
      • 2016-04-15
      • 2020-12-21
      • 2018-06-10
      相关资源
      最近更新 更多