我的.htaccess无法正常工作

时间:2014-05-25 17:18:52

标签: php .htaccess

我有下面的.htaccess,根据我的规则,我的index.php是我的默认值,是我访问所有的地方,我想要做我的导航,这个索引还恢复变量url:

RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1

然后我有我的函数getHome()来处理url,现在我只是回显我的$ url,它应该得到url传递的值:

function getHome(){
    $url = $_GET['url'];
    echo $url;
}

我的index.php比我调用我的getHome(),现在我正在测试,在我的网址上传递一些值。

但是当我将一些随机值传递到我的网址时,我总是得到#34;找不到对象!....错误404"

但是我想回应一下我在网址中传递的价值

你看到我做错了什么吗?

更新

我的代码中有<? <?php的实例,现在我有一个错误:

注意:未定义的索引:$ url = $ _GET中的网址[&#39; url&#39;];

我将我的功能更新为:

$url = isset($_GET['url']);

现在我没有未定义的索引错误,但我之前有相同的错误,当我将一些随机值传递给我的URL时,我总是得到我的&#34;找不到对象...错误404&#34;。

2 个答案:

答案 0 :(得分:2)

检查是否启用了mod_rewrite,并检查网络服务器配置是否允许使用.htaccess文件 - 有关详细说明,请参阅http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride

答案 1 :(得分:1)

这应该可行,但作为替代方案,您也可以使用:

$url = $_SERVER['REQUEST_URI'];

然后您不必检查是否设置了任何内容或在重写规则中传递查询变量。