【问题标题】:404 Error on Certain Pages Using SSL使用 SSL 的某些页面上出现 404 错误
【发布时间】:2013-08-04 04:22:13
【问题描述】:

我正在尝试在我的 wordpress 网站上启用 ssl,但遇到了一些困难。我已经通过 wordpress ssl 插件启用了 ssl admin(经过很好的审查),并且还需要 ssl 用于其他几个页面。管理面板与 https 配合得很好,主页和其他几个页面也是如此。然而,在其中许多页面上,即我使用我编写的 php 插件动态生成的页面,我收到 404 错误:

找不到

在此服务器上找不到请求的 URL /create/5。

Apache/2.2.22 (Ubuntu) 服务器位于 upsmart.com 端口 443

目前尚未奏效的方法包括:

我已经在服务器上启用了 mod-rewrite,我已经尝试将仪表板中的站点 URL 更改为明确为 https:// 并且我已经扫描了 php 以查找 http:// 的硬编码实例

真的在这个问题上摸不着头脑,所以任何想法都会受到赞赏。

作为参考,我在 Ubuntu 12.04 上使用 Apache。

更新! 我检查了我的 Apache 错误日志并得到以下消息:

文件不存在:/home/user/www/create

我看到后的反应是“当然不是。如果我想让它发送到 http://example.com/create/,为什么它会读为 ~/www/create?

【问题讨论】:

    标签: ssl https wordpress http-status-code-404


    【解决方案1】:

    请允许我脸红一点;我对上述问题的更新让我可以猜测这个问题,但我会把它记下来以防其他人遇到问题。

    我发现我只配置了一半的文件 /etc/apache2/sites-enabled/default-ssl。

    文件开头如下:

    ServerAdmin webmaster@localhost

        DocumentRoot /home/sam/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /home/sam/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride none
                Order allow,deny
                allow from all
        </Directory>
    
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>
    

    问题是第二个 AllowOverride 需要从 none 更改为 all。让它看起来像这样。

    ServerAdmin webmaster@localhost

        DocumentRoot /home/sam/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /home/sam/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride none
                Order allow,deny
                allow from all
        </Directory>
    
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>
    

    请注意:这必须为 ssl 配置,即使您已为其他启用的站点(如 000-default)配置此设置。

    【讨论】:

      【解决方案2】:

      配置之间没有区别。

      【讨论】:

        猜你喜欢
        • 2021-09-16
        • 2020-06-14
        • 2013-05-28
        • 2010-12-16
        • 2017-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-19
        相关资源
        最近更新 更多