1

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

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

这是我创建的 .htaccess 文件:

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

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

谢谢

4

2 回答 2

1

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

尝试类似:

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteRule ^([^/]+) index.php?id=$1 [L]
</IfModule>
于 2013-09-11T15:13:01.693 回答
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]
于 2013-09-11T17:06:01.837 回答