强制HTTP到HTTPS导致404错误

时间:2016-03-04 09:56:46

标签: php .htaccess http mod-rewrite https

我有一个基于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文件,但它仍然无法正常工作,这真的很奇怪。

任何想法?...谢谢!

1 个答案:

答案 0 :(得分:1)

您无法删除.htaccess文件,因为wordpress会将其用于所有HTTP和HTTPS重定向。

此错误似乎不是由HTTPS引起的。似乎Wordpress网址不存在或无法翻译它。试试这些:

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