使用 PHP 和 .htaccess 重写 URL

Posted

技术标签:

【中文标题】使用 PHP 和 .htaccess 重写 URL【英文标题】:URL rewrite with PHP and .htaccess 【发布时间】:2016-12-05 01:10:37 【问题描述】:

谁能告诉我如何重写以下网址:

www.mydomain.com/products.php?product=product-name

目前,它工作正常(我使用 $_GET 来获取唯一的产品名称并在我的页面上使用它)但我希望能够使用以下 URL 格式来获得相同的结果:

www.mydomain.com/products/product-name

我在这里看到了一些类似的例子,但无法让它们适应我的情况。

【问题讨论】:

这个比较简单,有没有试过什么规则? 【参考方案1】:

这就是您的 .htaccess 的样子,

RewriteEngine On
RewriteRule    ^products/([A-Za-z0-9-]+)    /products.php?product=$1    [NC,L]

RewriteEngine On这是用来开启重写引擎的。

^products/([A-Za-z0-9-]+) 匹配诸如 (www.mydomain.com/products.php?product=product-name) 之类的 URL,其中产品名称可以是字母、数字和连字符的任意组合中的一个或多个。

并在/products.php?product=$1 中使用该字母组合,其中$1 表示产品名称。

【讨论】:

以上是关于使用 PHP 和 .htaccess 重写 URL的主要内容,如果未能解决你的问题,请参考以下文章

使用 PHP 的 .htaccess 重写 URL

使用 htaccess 重写后,如何在 PHP 中获取可见 URL(不是实际 URL)? [复制]

使用php htaccess重写URL?

htaccess 重写 URL 以仅删除一个 php 文件的 $_GET 查询[重复]

CodeIgniter htaccess 和 URL 重写问题

.htaccess:使用参数重写 url 不起作用