Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对REST使用.htaccess不进行301重定向_.htaccess_Rest_Http Status Code 301 - Fatal编程技术网

对REST使用.htaccess不进行301重定向

对REST使用.htaccess不进行301重定向,.htaccess,rest,http-status-code-301,.htaccess,Rest,Http Status Code 301,我正在尝试为我正在开发的应用程序构建一个极其简单的RESTful测试平台。我正在使用.htaccess将URL重定向到我的控制器脚本,在那里我将解析URL以处理逻辑 我的重定向工作正常,但问题是,如果我执行POST/PUT/DELETE,Firebug会显示我的请求正确地进入测试平台,但我会得到301重定向响应,然后是第二个get响应 如果htaccess不向浏览器发送301,如何使用htaccess进行url重定向 这是我现在使用的.htaccess: RewriteEngine On Rew

我正在尝试为我正在开发的应用程序构建一个极其简单的RESTful测试平台。我正在使用.htaccess将URL重定向到我的控制器脚本,在那里我将解析URL以处理逻辑

我的重定向工作正常,但问题是,如果我执行POST/PUT/DELETE,Firebug会显示我的请求正确地进入测试平台,但我会得到301重定向响应,然后是第二个get响应

如果htaccess不向浏览器发送301,如何使用htaccess进行url重定向

这是我现在使用的.htaccess:

RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1

试着这样做:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
这将重定向,除非请求的文件存在(例如图像或CSS文件)。我经常使用这些规则,从来没有遇到过301


检查PHP脚本是否没有将响应更改为301。

Gracias。你更新的重写有帮助。我还有一个不完整的客户端处理程序启动请求。现在修复了这两个问题,效果非常好。如果没有提供任何文件名,是否有办法允许“index.html”保留为默认值?