【问题标题】:How do I get mod_rewrite working on Heroku?如何让 mod_rewrite 在 Heroku 上工作?
【发布时间】:2013-09-15 09:15:26
【问题描述】:

我正在尝试使用以下规则重写 URL:

RewriteRule ^([^/]*)$ /curation.php?id=$1 [L]

这是我创建的 .htaccess 文件:

 RewriteEngine On
 RewriteRule ^([^/]*)$ /curation.php?id=$1 [L]

但是当我将它推送到我的 Heroku 服务器时,我在所有页面上都收到 500 Internal Server Error。我做错了什么?

谢谢

【问题讨论】:

标签: php apache .htaccess mod-rewrite heroku


【解决方案1】:

我认为主要问题是你重写规则

尝试类似:

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteRule ^([^/]+) index.php?id=$1 [L]
</IfModule>

【讨论】:

    【解决方案2】:

    如果您加载了 mod_rewrite,并且您的规则位于文档根目录的 htaccess 文件中。您拥有的规则正在导致无限循环。您需要添加一个或两个条件来防止这种情况发生:

    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^/curation\.php
    RewriteRule ^([^/]*)$ /curation.php?id=$1 [L]
    

    或者

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([^/]*)$ /curation.php?id=$1 [L]
    

    【讨论】:

      猜你喜欢
      • 2019-07-09
      • 1970-01-01
      • 1970-01-01
      • 2016-08-05
      • 2011-11-07
      • 1970-01-01
      • 1970-01-01
      • 2016-06-14
      • 2011-03-08
      相关资源
      最近更新 更多