如何让mod_rewrite在Heroku上运行?

时间:2013-09-11 11:13:54

标签: php apache .htaccess mod-rewrite heroku

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

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

这是我创建的.htaccess文件:

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

但是当我将它推送到我的Heroku服务器时,我在所有页面上都出现了500内部服务器错误。我做错了什么?

由于

2 个答案:

答案 0 :(得分:1)

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

尝试类似:

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

答案 1 :(得分:1)

如果您加载了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]