在htaccess中创建动态URL

cha*_*tor 4 php .htaccess

我正在尝试编写.htaccess文件,这将使我的网址对搜索引擎更具吸引力.我基本上知道如何做到这一点,但我想知道如何动态地做到这一点.

我的网址通常如下:

view.php?mode=prod&id=1234
Run Code Online (Sandbox Code Playgroud)

我想做的是从URL中获取id,进行数据库查询,然后将从DB返回的标题放入url.就像是:

/products/This-is-the-product-title
Run Code Online (Sandbox Code Playgroud)

我知道有些人用phpbb论坛的URL和主题完成了这个,我试图跟踪代码,用新的标题字符串URL替换实际的URL,但没有运气.

我知道我可以用id重写URL:

RewriteRule ^view\.php?mode=prod&id=([0-9]+) /products/$1/
Run Code Online (Sandbox Code Playgroud)

PHP中有没有办法覆盖显示的URL?

Mat*_*hew 6

目前,您想知道如何将丑陋的URL(例如/view.php?mode=prod&id=1234)转换为漂亮的URL(例如/products/product-title).从另一个角度开始看这个.

你想要的是有人打字/products/product-title以实际将他们带到可以访问的页面/view.php?mode=prod&id=1234.

即你的规则如下:

RewriteRule ^products/([A-Za-z0-9-])/?$ /view.php?mode=prod&title=$1
Run Code Online (Sandbox Code Playgroud)

那么在view.php做基础上,查找title找到id.然后照常进行.