Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mod_rewrite&。htaccess可以';优胜美地OS X中的t传递变量_Php_Apache_.htaccess_Mod Rewrite_Osx Yosemite - Fatal编程技术网

Php mod_rewrite&。htaccess可以';优胜美地OS X中的t传递变量

Php mod_rewrite&。htaccess可以';优胜美地OS X中的t传递变量,php,apache,.htaccess,mod-rewrite,osx-yosemite,Php,Apache,.htaccess,Mod Rewrite,Osx Yosemite,我有一个简单的重写规则,它可以正常工作: RewriteRule ^user/(\w+)/?$ user.php?id=$1 我有一个php文件,其中包含: <?php echo $_GET['id']; ?> 这在以下URL中工作正常,id通过时没有问题: 我知道mod_rewrite正在工作,因为这个url还将我发送到user.php: 但JoeUser从来没有真正被传给1美元。我以前从未见过这种行为。这是OSX中的一个bug,还是我遗漏了什么 这是OSX中的一个b

我有一个简单的重写规则,它可以正常工作:

RewriteRule ^user/(\w+)/?$  user.php?id=$1
我有一个php文件,其中包含:

<?php echo $_GET['id']; ?>

这在以下URL中工作正常,id通过时没有问题:

我知道mod_rewrite正在工作,因为这个url还将我发送到user.php:

但JoeUser从来没有真正被传给1美元。我以前从未见过这种行为。这是OSX中的一个bug,还是我遗漏了什么

这是OSX中的一个bug吗

不,这不是一个bug。这是Apache配置中默认启用的
MultiViews
选项的效果。选项
MultiViews
Apache的内容协商模块使用,该模块在
mod_rewrite
之前运行,并使Apache服务器匹配文件扩展名。所以
/file
可以在URL中,但它将提供
/file.php

要关闭它,请使用:

Options -MultiViews
RewriteEngine On

RewriteRule ^user/(\w+)/?$ user.php?id=$1 [L,QSA,NC]

您是否将您的http.conf编辑为:AllowOverride All Options FollowSymlinks Order allow,deny Require All grated allow from allHot Dawg,您很好!这很有效。在网上做一个简单的.htaccess教程,然后遇到这样一堵砖墙,这是一个令人沮丧的过程。你的回答的另一个好处是,我现在有这个系统的其他具体方面需要研究和充实。非常感谢。