可能重复:
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文件用户创建新页面,或编辑/删除页面。
答案 0 :(得分:1)
我认为这可能就足够了:
RewriteRule http://www.companyname.com/(.*)/(\d+) http://www.companyname.com/dynamic_page.php?id=$2
在/ 4441之前是什么并不重要,它总是会导致dynamic_page.php?id = 4441 ...
答案 1 :(得分:0)
您是否为ht访问文件中的每个ID手动添加新行?
您可以使用正则表达式轻松完成所有这些操作。这是一篇有点陈旧但与您的需求完全相关的帖子:http://www.webmasterworld.com/forum92/4332.htm
答案 2 :(得分:0)
答案 3 :(得分:0)
试试这个:
RewriteRule http://www.companyname.com/(.*)/(\d+) http://www.companyname.com/index.php?firstvalue=$1&secondvalue=$2