我目前在根目录上有一个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);
?>
我在重写规则结束时错过了标记吗?
答案 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行来防止循环。