缺少重写标志?服务器500由.htaccess引起

时间:2013-01-19 22:21:35

标签: .htaccess

我目前在根目录上有一个htaccess文件。我在callbacks / api中创建了一个新的htaccess文件并输入了:

RewriteEngine on
RewriteBase /callbacks/api
RewriteRule ^(.*)\.(json|xml|csv|txt|printr)$ ./endpoint.php?api_request=$1&api_response_type=$2

我遵循与其他htaccess相同的重写规则(工作得很好)。但是在这种情况下,我传递了以下URL:

domain.com/callbacks/api/v1/test_rest.xml

在我的endpoint.php文件中,我有:

<?
//just making sure the 500 is not due to php
//so lets just dump the GET's
var_dump($_GET);
?>

我在重写规则结束时错过了标记吗?

1 个答案:

答案 0 :(得分:1)

试试这个:

RewriteEngine on
RewriteBase /callbacks/api
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.(json|xml|csv|txt|printr)$ ./endpoint.php?api_request=$1& api_response_type=$2   [L]

我没有测试规则,只添加了2行来防止循环。