【问题标题】:Edits Server Error 500编辑服务器错误 500
【发布时间】:2016-02-15 16:41:52
【问题描述】:
RewriteEngine on
RewriteRule ^home index.php [NC,L]
RewriteRule ^news news.php [NC,L]

对于如何解决此问题的任何帮助,我们将不胜感激。我为我的站点创建了一个.htaccess 文件,以简化其 URL。整个 .htaccess 内容如下(并按需要工作):

RewriteEngine on

我现在面临的唯一问题是单击它会生成服务器错误 500 页面,而不是 facebook 共享窗口。

我可以做些什么来解决这个问题

【问题讨论】:

    标签: .htaccess facebook-share clean-url


    【解决方案1】:

    你应该在你的模式中使用end anchor并关闭MultiViews

    Options -MultiViews
    RewriteEngine on
    
    RewriteRule ^home/?$ index.php [NC,L]
    RewriteRule ^news/?$ news.php [NC,L]
    RewriteRule ^news/([0-9a-z]+)/?$ news.php?id=$1 [NC,L,QSA]
    

    没有结束锚^news 模式也会匹配news.php 并导致无限循环并最终导致500(内部服务器错误)。

    【讨论】:

    • 你能检查一下你的 Apache error.log 看看有什么错误
    • error.log 似乎没有给出任何相应的错误:日志中的最后一个:[Mon Feb 15 07:37:03.244715 2016] [mpm_winnt:notice] [pid 7708:tid 268] AH00354 :子:启动 150 个工作线程。另一方面,完整的服务器错误消息是:The website encountered an error while retrieving https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Flocalhost%2Fexperiment%2Fprefinalkoh%2Fnews%3Fid%3D6. It may be down for maintenance or configured incorrectly.
    • 从另一个 SO q 线程发现,默认情况下,PHP 不会记录这些错误 - 因此必须采取一些步骤来启用内部服务器日志记录。等等。
    • 已设置display_errors = On display_startup_errors = Onerror_reporting = E_ALL,但似乎没有为此问题生成错误日志。有什么方法可以猜测 500 错误问题可能是由什么引起的?
    • 那是 PHP 错误,这个 500 是 Apache 错误。您应该联系您的托管管理员以了解 error.log 的位置
    猜你喜欢
    • 2012-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-31
    • 2017-12-30
    相关资源
    最近更新 更多