mod_rewrite:将查询字符串转换为带连字符的页面链接

时间:2012-01-15 22:19:29

标签: string mod-rewrite hyperlink

如何将此网址转换为类似网页的内容:

http://www.example.com/search-results/?action=search&type%5Bequal%5D=Blog&keywords%5Bany_words%5D=visual+basic

我想将上述网址转换为:

http://www.example.com/blogs/visual-basic

当用户点击转换后的短链接2时,它应该转到顶部列出的长网址1。

我尝试了这个,但它不起作用:

RewriteRule ^blogs/([a-zA-Z0-9_-]+)\.html$ /search-results/?action=search&type%5Bequal%5D=Blog&keywords%5Bany_words%5D=$1 [NC,L]

1 个答案:

答案 0 :(得分:0)

你的问题是错误的,或者你的RewriteRule是错误的。

您希望用户输入http://www.example.com/blogs/visual-basic

并将此地址内部重写为:

http://www.example.com/search-results/?action=search&type%5Bequal%5D=Blog&keywords%5Bany_words%5D=visual+basic

您的用户地址中没有以“html”结尾的网址。因此,试试这个,它应该工作:

RewriteRule ^ blogs /([a-zA-Z0-9 _-] +)$ / search-results /?action = search& type%5Bequal%5D = Blog& keywords%5Bany_words%5D = $ 1 [NC,L ]