2

我目前在我的根目录上有一个 htaccess 文件。我在回调/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);
?>

我是否缺少重写规则末尾所需的标志?

4

1 回答 1

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 行来防止循环。

于 2013-01-19T22:48:49.280 回答