Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.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 为什么url重写不起作用?_Php_Regex_Apache_.htaccess - Fatal编程技术网

Php 为什么url重写不起作用?

Php 为什么url重写不起作用?,php,regex,apache,.htaccess,Php,Regex,Apache,.htaccess,我想从更改我的url http://localhost/delhian/destinations_list.php?ref=monuments_in_delhi 到 http://localhost/delhian/destinations_list/monuments_in_delhi 我已经编写了以下htaccess规则 我不知道我做错了什么,但这不起作用 当我访问URL时 http://localhost/delhian/destinations_list/monuments_in_del

我想从更改我的url

http://localhost/delhian/destinations_list.php?ref=monuments_in_delhi

http://localhost/delhian/destinations_list/monuments_in_delhi

我已经编写了以下
htaccess
规则

我不知道我做错了什么,但这不起作用

当我访问URL时

http://localhost/delhian/destinations_list/monuments_in_delhi

它向我显示
未定义的索引ref


有人能告诉我这里缺少什么,为什么它不起作用,以及此消息的含义是什么吗
未定义的索引ref

在您的htaccess顶部添加以下内容以禁用多视图:

Options -MultiViews
描述了启用“多视图”选项时的功能:

如果 服务器收到对/some/dir/foo的请求,而/some/dir/foo未收到请求 存在,然后服务器读取目录,查找所有名为 foo.*,并有效地伪造了一个类型映射来命名所有这些 文件,并为其分配相同的媒体类型和内容编码 如果客户点名要求其中一个的话。那么 选择最符合客户要求的,并返回 文件


在htaccess的顶部添加该选项以禁用多视图:

Options -MultiViews
描述了启用“多视图”选项时的功能:

如果 服务器收到对/some/dir/foo的请求,而/some/dir/foo未收到请求 存在,然后服务器读取目录,查找所有名为 foo.*,并有效地伪造了一个类型映射来命名所有这些 文件,并为其分配相同的媒体类型和内容编码 如果客户点名要求其中一个的话。那么 选择最符合客户要求的,并返回 文件


destinations\u list.php
中,可以执行
var\u dump($\u GET)并发布输出?你的重写规则看起来是正确的。如果你没有得到404,那么听起来重写至少部分起作用了…
ref
没有定义,因为它在url中没有提到GET方法。但应该是这样的,正如我在.htaccess文件中编写的规则。我不知道我在这里遗漏了什么。URL以
delhian/
开头。除非您使用了
rewritebase
例如
^delhian/destinations\u list/([A-Za-z+)/?$
^。。。除非
delhian
是一个实际存在的目录,其中包含
.htaccess
php
文件。在
destinations\u list.php
中,您可以执行
var\u dump($\u GET)吗并发布输出?你的重写规则看起来是正确的。如果你没有得到404,那么听起来重写至少部分起作用了…
ref
没有定义,因为它在url中没有提到GET方法。但应该是这样的,正如我在.htaccess文件中编写的规则。我不知道我在这里遗漏了什么。URL以
delhian/
开头。除非您使用了
rewritebase
例如
^delhian/destinations\u list/([A-Za-z+)/?$
^。。。除非
delhian
是一个实际存在的目录,其中包含
.htaccess
php
文件。谢谢,我很高兴能帮上一点忙。谢谢,我很高兴能帮上一点忙。