我对此有点新意,但我正在努力学习。我知道在PHP中我们可以有一个以?id=something
结尾的URL,但在我看来,有些网站只是正斜杠。这可能使用PHP吗?我看到these questions似乎说它有可能,但我还没有破解它。
有人可以向我mod_rewrite
提示正确的方向吗?我想更改以下网址
http://www.example.com/all-products/?onsale=true&topic=health&item=adaaos45
到
http://www.example.com/all-products/items-on-sale/health/adaaos45
你能指出我的正确方法吗?
答案 0 :(得分:6)
您正在寻找的是Apache Url Rewriting。
我会稍微分解一下,以帮助您理解,有助于了解regex
。
这里有很多答案可以讨论这个方法,但总而言之,你需要做三件事。
# Switch on URL Rewriting
# Choose the URL that you want to display
# Point it to the true URL that gives the information.
Options FollowSymLinks
RewriteEngine On
RewriteRule ^all-products/items-on-sale/health/adaaos45/?$ all-products/?onsale=true&topic=health&item=adaaos45 [NC,L]
当然,如果您想要匹配变量的任何结果,您需要匹配正则表达式中的单词,并记住它,并在行的最后部分使用它。但这应该让你开始了解正在发生的事情。
在.htaccess中使用此代码,浏览
http://www.example.com/all-products/items-on-sale/health/ adaaos45
将显示此页面上显示的内容。
http://www.example.com/all-products/?onsale=true&topic=health&item=adaaos45