【问题标题】:Forcing HTTP to HTTPS causing 404 error强制 HTTP 到 HTTPS 导致 404 错误
【发布时间】:2016-06-18 00:08:44
【问题描述】:

我有一个基于 WordPress 的网站,其中一部分是由外部程序员(后端)构建的。我能够使用 WordPress 部分的插件强制所有连接使用 HTTPS 而不是 HTTP,但是对于这个不基于 WordPress 的特定区域,我必须做其他事情。我的知识受到限制,所以我只是用谷歌搜索了一下,发现我应该在特定文件夹中创建一个 .htaccess 文件,其中包含以下内容:

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteCond %{REQUEST_URI} folder 
RewriteRule ^(.*)$ https://www.yourdomain.com/folder/$1 [R,L]

我就是这样做的,现在当我尝试访问该区域时,它说它不存在(404 错误):

The requested URL /backend/auth/login was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

奇怪的是,当我尝试直接访问链接请求的 URL /backend/index.php 时,它确实有效并将我重定向到:

/backend/index.php/auth/login

我不知道如何修复它或做什么,但实际上我没有在其中看到“auth”文件夹,但它可以在 index.php 下工作

另外,当我试图扭转我所做的事情时,我删除了 .htaccess 文件,但它仍然无法正常工作,这真的很奇怪。

有什么想法吗?...谢谢!

【问题讨论】:

  • 您是否修改了 .htaccess 文件中的 rewrite 部分以满足要求?
  • 之前没有htaccess文件,我自己创建了一个

标签: php .htaccess http mod-rewrite https


【解决方案1】:

您不能删除 .htaccess 文件,因为它被 wordpress 用于所有 HTTP 和 HTTPS 重定向。

这个错误似乎不是 HTTPS 造成的。 Wordpress url 似乎不存在或无法翻译。试试这些:

  1. 恢复原始 .htaccess 并重新测试 URL
  2. 修改数据库中的 URL。请记住,Wordpress 会将它们保留在那里。

【讨论】:

  • 再次 - 问题不在于网站的 WordPress 部分,而在于另一部分 - 与 WordPress 无关的网站后端区域(网站的 wordpress 区域仅指向用于登录的后端)。我之前没有任何 .htaccess 文件,我创建了一个
猜你喜欢
  • 2023-03-10
  • 2019-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-09
  • 2014-08-15
  • 2016-11-14
  • 1970-01-01
相关资源
最近更新 更多