htaccess重写工作方式不同

时间:2013-05-24 13:37:07

标签: .htaccess mod-rewrite shared-hosting

这是我本地开发盒上的.htaccess内容。它工作正常。但是当我在hostgator共享服务器上尝试相同时,它不起作用。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ perform.php?_api=$1 [QSA]

当我用

替换最后一行时
RewriteRule ^(.*)$ http://domain.com/japi/perform.php?_api=$1 [L,QSA]

它部分有效,但我松开了随请求发送的“POST”参数。

有人可以对此有所了解吗?

感谢。

1 个答案:

答案 0 :(得分:0)

我想出了问题所在。虽然这不是开发盒上的问题,也不是我的bluehost帐户。

上面提到的htaccess代码位于子目录“japi”,其父目录包含wordpress安装。 wordpress的htaccess引起了一个问题。

RewriteBase /

也需要在子文件夹中设置

RewriteBase /japi

不确定为什么这在我的开发盒或bluehost框上有效。也许htaccess规则没有被继承。