php - 让 URL 动态看起来不错

标签 php mysql apache mod-rewrite

Possible Duplicate:
How do I convert a PHP query string into a slash-based URL?

如果我有数据库驱动的页面,其网址如下:

http://www.companyname.com/dynamic_page.php?id=1
http://www.companyname.com/dynamic_page.php?id=2
http://www.companyname.com/dynamic_page.php?id=3
...
http://www.companyname.com/dynamic_page.php?id=4001
http://www.companyname.com/dynamic_page.php?id=4002
http://www.companyname.com/dynamic_page.php?id=4003

URL 中的 id 用于从数据库获取正确的内容,并且用户可以根据需要添加/删除/编辑任意数量的页面。

我了解如何手动使用 mod_rewrite 使网址看起来更好,例如

http://www.companyname.com/individual/1
http://www.companyname.com/individual/2
http://www.companyname.com/individual/3
...
http://www.companyname.com/commercial/4001
http://www.companyname.com/commercial/4002
http://www.companyname.com/commercial/4003

但是我该如何动态地做到这一点呢?即允许用户指定 url 的一部分,在这种情况下,用户选择了“个人”或“商业”,然后在 url 末尾添加 id,而无需我每次都编辑 .htaccess 文件用户创建新页面,或编辑/删除页面。

最佳答案

我认为这已经足够了:

RewriteRule http://www.companyname.com/(.*)/(\d+) http://www.companyname.com/dynamic_page.php?id=$2

无论/4441之前是什么,它总是会导致dynamic_page.php?id=4441...

关于php - 让 URL 动态看起来不错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5719137/

相关文章:

regex - 重定向和重写以从 url 中删除 .html

php - mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?

php - num_rows 在面向对象的方法中不起作用

php - 销售发票表格

mysql - MySQL默认是否缓存

mysql - 如何在 MySQL 的某个列上对表进行分区?

django - 使用 mod_wsgi 在 apache 上部署 django 应用程序时出现“没有名为 'encodings' 的模块”错误

django - mod_deflate与Django GZipMiddleware,哪个用于部署?

php - 正则表达式获取 XML 标签之间的内容

mysql - #1054 - 'node.id' 中的未知列 'on clause'