(此問題已修改兩次,因爲我找到的答案和其他信息。)
我需要從REQUEST獲取URL。下面是index.php的例子,我嘗試打印請求,發佈並獲取 - 所有這些都是空的。 我在我的電腦上用Bitnami WAMP和遠程服務器(Arvixe)嘗試了這一點。因爲它不能在遠程服務器上工作,可能原因是在.htaccess中?還有什麼可能是REQUEST ['url']不起作用的原因?
C:\ Bitnami \ wampstack-5.6.20-0 \ Apache2的\ htdocs中\ WWW \ Plan2own \ PUBLIC \的index.php
<?php
error_reporting(E_ALL);
//phpinfo();
echo'<br> index.php _GET = **', var_dump($_GET ), '**';
echo'<br> index.php _POST = **', var_dump($_POST ), '**';
echo'<br> index.php GLOBALS[_REQUEST] = **', var_dump($GLOBALS['_REQUEST']) , '**';
echo'<br> index.php _REQUEST = **', var_dump($_REQUEST ), '**';
echo'<br> index.php _REQUEST[url] = **', var_dump($_REQUEST['url'] ), '**';
echo'<br> index.php _GET[url] = **', var_dump($_GET['url'] ), '**';
echo'<br> index.php _POST[url] = **', var_dump($_POST['url'] ), '**';
C:\ Bitnami \ wampstack-5.6.20-0 \的Apache2 \ htdocs中\ WWW \ Plan2own \ public.htaccess
Options -MultiViews
Options -Indexes
RewriteEngine on
RewriteBase C:\Bitnami\wampstack-5.6.20-0/apache2/htdocs/www/Plan2own/public
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{ENV:REQUEST_FILENAME} !-d
RewriteCond %{ENV:REQUEST_FILENAME} !-f
RewriteCond %{ENV:REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
例如,使用URL http://plan2own/index.php/home
我得到以下結果和空網址。
index.php _GET = **array(0) { } **
index.php _POST = **array(0) { } **
index.php GLOBALS[_REQUEST] = **array(0) { } **
index.php _REQUEST = **array(0) { } **
index.php _REQUEST[url] = **NULL **
index.php _GET[url] = **NULL **
index.php _POST[url] = **NULL **
例如,使用URL http://plan2own/index.php?a=b
我得到空網址
index.php _GET = **array(1) { ["a"]=> string(1) "b" } **
index.php _POST = **array(0) { } **
index.php GLOBALS[_REQUEST] = **array(1) { ["a"]=> string(1) "b" } **
index.php _REQUEST = **array(1) { ["a"]=> string(1) "b" } **
index.php _REQUEST[url] = **NULL **
index.php _GET[url] = **NULL **
index.php _POST[url] = **NULL **
的想法是,我應該從http://plan2own/index.php/home
回家,即我應該得到的控制器和方法。
我讀http://stackoverflow.com/questions/5701588/why-is-request-empty
(a)在php.ini中註釋掉auto_globals_jit並重新啓動apache並沒有幫助; (b)在我的情況下,php.ini中的request_oder和variable_order是正確的。
我正在檢查正確的php.ini文件,我可以看到使用phpinfor();在「Loaded Configuration File」行中。
'request_order'和'variables_order'已啓用且正確。我正在檢查正確的'\ C:\ Bitnami \ wampstack-5.6.20-0 \ php \ php.ini',如果我在'index.php'中取消註釋'phpinfo();',則會加載該文件。不明白哪裏可能是錯誤。它可以在'.htaccess'中嗎? – olga
我在嘗試BeetleJuice答案後更新了問題 – olga