htAccess 重写为 HTTPS 正在添加不需要的文件夹



我通常不使用Apache,我很难让重写规则工作。

根文件夹包含一个名为public_html的文件夹,当您浏览到它按预期加载的网站时,我假设 Apache 会自动在public_html文件夹中找到索引文件。我遇到的问题是,当将重写规则从 http 添加到 https 时,它会将public_html添加到 url 并产生"未找到"错误。

这是我使用的重写规则:

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://exampledomain.com/$1 [R=301,L]

生成的网址如下所示:

https://www.exampledomain.com/public_html

所需的 url 如下所示:

https://www.exampledomain.com

这个问题有两个部分:

  1. htaccess 文件应该在根文件夹中还是在public_html文件夹中?
  2. 如何防止重写规则添加public_html?

任何帮助将不胜感激,如果您想了解更多信息或觉得不清楚,请告诉我。

由于这是一个共享主机,因此在服务器配置中可能已经配置了一些重写(例如为每个请求添加/public_html前缀)。您可以尝试解决方法:

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^public_html/(.*)$ https://exampledomain.com/$1 [R=301,L]

相关内容

  • 没有找到相关文章

最新更新