Php .htaccess由本地服务器和产品服务器进行不同的解释
我的Php .htaccess由本地服务器和产品服务器进行不同的解释,php,apache,.htaccess,mod-rewrite,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 $_SE
.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
$_SERVER['REDIRECT_URL'] => string '/prefix/test/'
$_SERVER['REDIRECT_QUERY_STRING'] => string '/test/'
$_SERVER['REDIRECT_URL'] => string '/prefix/' // totally wrong
$_SERVER['REDIRECT_QUERY_STRING'] => string '/'
这真是太棒了。不幸的是,当我访问http://domain.hostinger.pl/prefix/test
我收到了
No input file specified.
我将我的.htaccess
更改为:(我添加了?
)
我不再接收未指定的输入字段
,但在本地服务器上,我的php脚本接收:
$_SERVER['REDIRECT_URL'] => string '/prefix/test/'
$_SERVER['REDIRECT_QUERY_STRING'] // not set
$_SERVER['REDIRECT_URL'] => string '/prefix/test/'
$_SERVER['REDIRECT_QUERY_STRING'] => string '/test/'
$_SERVER['REDIRECT_URL'] => string '/prefix/' // totally wrong
$_SERVER['REDIRECT_QUERY_STRING'] => string '/'
我的产品脚本收到:
$_SERVER['REDIRECT_URL'] => string '/prefix/test/'
$_SERVER['REDIRECT_QUERY_STRING'] // not set
$_SERVER['REDIRECT_URL'] => string '/prefix/test/'
$_SERVER['REDIRECT_QUERY_STRING'] => string '/test/'
$_SERVER['REDIRECT_URL'] => string '/prefix/' // totally wrong
$_SERVER['REDIRECT_QUERY_STRING'] => string '/'
有人能告诉我该怎么做才能让我的prod脚本接收到正确的参数吗?(就像这张来自本地脚本的原始
.htaccess
)?或者告诉我为什么会发生这种情况?检查。我相信您需要一个不同的重写规则。@forrestmid不幸的是,这对我不起作用:/您是否检查了任何其他$\u服务器变量,以查看您要查找的路径是否在其他地方?我相信这值得一看。您可以只打印($\u SERVER)
,但如果您确定您的Web服务器是安全的,因为它将转储环境变量。@我使用的forrestmid Framework仅使用重定向URL
和重定向查询字符串
设置路由。请尝试重写cond%{REQUEST\u FILENAME}-f
,重写规则^index.php[QSA,L]
。检查。我相信您需要一个不同的重写规则。@forrestmid不幸的是,这对我不起作用:/您是否检查了任何其他$\u服务器变量,以查看您要查找的路径是否在其他地方?我相信这值得一看。您可以只打印($\u SERVER)
,但如果您确定您的Web服务器是安全的,因为它将转储环境变量。@我使用的forrestmid Framework仅使用重定向URL
和重定向查询字符串
设置路由。请尝试重写cond%{REQUEST\u FILENAME}-f
,重写规则^index.php[QSA,L]
。