.htaccess使用REST样式URL 500重写错误

时间:2010-01-17 18:45:56

标签: .htaccess mod-rewrite rest

我正在尝试在.htaccess中启用mod-rewrite来实现REST样式的URL。我正在开发一个测试环境(新的cpanel帐户)。这是.htaccess:

RewriteEngine on

#REMOVE THIS LINE ON SITE LAUNCH!
RewriteBase /~myNewAccount/

#Hide .php extensions for cleaner URLS
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

Options All -Indexes

我可以使用的URL如下所示:

www.example.com/~myNewAccount/index.php/id/50

我可以在这里访问PATH_INFO,但是当我尝试这样做时:

www.example.com/~myNewAccount/index/id/50

...我收到500内部服务器错误。我已经尝试通过Gumbo实现solution found here,但这样做很糟糕。

关于可能导致这种情况的想法?

1 个答案:

答案 0 :(得分:2)

尝试此规则:

RewriteRule ^index(/.*)?$ index.php$1 [L]

或者,如果您不希望 index 完全位于网址路径中:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php/$0 [L]