我有一行代码使用 mod_rewrite 从数据库中提取结果:
example.com/anytext/itemid
使用以下 URL:example.com/item.php?id=itemid
一个简单的重写。但是,我想制定一个优于它的规则。跟随以了解我的意思:
.htaccess 文件示例:
RewriteRule ^products/[^/]+/(.*)$ products/item.php?id=$1 [L]
此规则告诉example.com/products/anytext/itemid
使用item.php
“/”之后使用 URL 的最后一部分显示,即项目 ID。
但是,我希望一些 URL 被重定向而不是重写。例如:
products/green-dress/4023
成为:
products/green-dress-with-stain/4023
没有重写规则!
现在,我在 .htaccess 中尝试了一个简单的 301 重定向,但它以某种方式干扰了重写规则。
而不是去
products/green-dress-with-stain/4023
它去:
products/green-dress-with-stain4023?id=4023
看看最后的 URL 是如何获取变量的?诡异的!
谢谢,戴夫