.htaccess由本地和prod服务器进行不同的解释

时间:2017-03-24 15:12:58

标签: php apache .htaccess mod-rewrite

我的.htaccess看起来像这样

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php/$0 [L]

它适用于我的本地服务器,当我访问http://localhost/prefix/test我的php脚本收到:

$_SERVER['REDIRECT_URL'] => string '/prefix/test/'
$_SERVER['REDIRECT_QUERY_STRING'] // not set

这很有效。不幸的是,当我访问http://domain.hostinger.pl/prefix/test时,我收到了

No input file specified.

我将.htaccess更改为:(我添加了?

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php?/$0 [L]

我不再接收No input field specified但是在我的本地服务器上我的php脚本收到了:

$_SERVER['REDIRECT_URL'] => string '/prefix/test/'
$_SERVER['REDIRECT_QUERY_STRING'] => string '/test/'

我的prod脚本收到了:

$_SERVER['REDIRECT_URL'] => string '/prefix/'  // totally wrong
$_SERVER['REDIRECT_QUERY_STRING'] => string '/'

有人可以告诉我该做什么,以便我的prod脚本可以收到正确的参数吗? (就像这个来自本地脚本的原始.htaccess)?或者告诉我为什么会这样?

0 个答案:

没有答案