【发布时间】:2013-05-04 13:20:53
【问题描述】:
我正在使用url-rewriting 进行我的第一步,但无法使以下操作:
在我的应用程序中,可以通过将查询参数?skin=some_id 应用于应用程序中的任何页面来加载皮肤。我想改变:
http://www.mysite.com/anypage.html?skin=123
进入:
http://www.mysite.com/123/anypage.html
但我无法让它工作。
这是我目前在我的httpd.conf 中拥有的:
<IfModule mod_rewrite.c>
RRewriteRule (.*)/(.*)?app=(.*)$ %1/%3/%2 [NC,R=301,L]
</IfModule>
问题:
这不起作用,所以我想知道我做错了什么?
同样在 URL 生效的情况下,用户输入的 URL 是什么? http://www.mysite.com/123/anypage.html 哪个“映射”到 http://www.mysite.com/anypage.html?skin=123?
如果我想访问查询参数,我必须从实际 url (?skin=...) 中提取它还是从重写后的 URL 中提取它?
感谢您的帮助!
编辑:
所以我让它像这样工作(有用的测试员here):
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} skin=(\w+)
RewriteRule ^.*\.html /%1? [R=301]
</IfModule>
这将重定向:
www.some.com/index.html?skin=xyz => www.some.com/xyz
还没有。
【问题讨论】:
标签: url mod-rewrite url-rewriting seo query-parameters