无法使用htaccess从index.php获取url作为get参数

时间:2014-02-18 14:44:28

标签: php .htaccess mod-rewrite

继承我的.htaccess文件

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?url=$1 [NC,L] 

index.php文件与.htaccess文件的深度相同,但是当我调用时

$url = $_GET['url'];
index.php中的

。有一个警告说在$ _GET超全局中没有名为url的索引。

请帮帮我

2 个答案:

答案 0 :(得分:0)

当您直接转到网址“http://example.com/”或“http://example.com/index.php”时。

要解决此问题,您可以在使用之前检查“url”是否存在:

if (isset($_GET['url']))
  $url = $_GET['url'];
else
{
  // do nothing, or die()
  die('no direct access allowed');
}

答案 1 :(得分:0)

问题不是我的htaccess文件,但我没有在我的系统中启用mod_rewrite。

启用mod_rewrite解决了这个问题。所以,

sudo a2enmod rewrite
sudo service apache2 restart

这解决了问题