Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.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 nginx重写什么都不做_Php_Nginx_Url Rewriting - Fatal编程技术网

Php nginx重写什么都不做

Php nginx重写什么都不做,php,nginx,url-rewriting,Php,Nginx,Url Rewriting,我用PHP和MySQL创建了一个小小的CMS。 现在我尝试激活NGINX rewrite,但它不起作用,我不明白为什么 (示例)我有一页 我尝试使用这个规则 重写^/listings/(.*)$/listing.html?listing=$1 last 发件人: 但它不起作用 重写^/cars/(.*)$/cars.php?id=$1 last 我得到了同样丑陋的网址 我应该更改PHP文档中的URL锚点吗? 从 有人知道我做错了什么吗?在您的文档中,您指定的URI没有前导斜杠。这意味着它们被认

我用PHP和MySQL创建了一个小小的CMS。 现在我尝试激活NGINX rewrite,但它不起作用,我不明白为什么

(示例)我有一页

我尝试使用这个规则

重写^/listings/(.*)$/listing.html?listing=$1 last

发件人:

但它不起作用

重写^/cars/(.*)$/cars.php?id=$1 last

我得到了同样丑陋的网址

我应该更改PHP文档中的URL锚点吗? 从


有人知道我做错了什么吗?

在您的文档中,您指定的URI没有前导斜杠。这意味着它们被认为是相对于当前页面的

您希望使用漂亮的URI(比如:
/cars/bmw
),这很好,只是它包含一个嵌入的
/
,看起来像一个目录路径。此目录路径用于构造不包含前导
/
的URI

解决方案是为所有URI提供一个前导的
/
,这将避免任何歧义

例如:

<a href="/cars/'.$row['name'].'"> BWM </a>
<a href="/contact"> Contact Page </a>

<a href="cars/'.$row['name'].'"> BWM </a>
http://www.example.com/cars/contact
<a href="/cars/'.$row['name'].'"> BWM </a>
<a href="/contact"> Contact Page </a>