我们有一个url,它使用重写映射来检索查询字符串的参数,以便获得正确的主题页面。这很有效,它以默认语言显示正确的主题页。
如果用户想要更改此剧集的语言,他将执行重定向到相同的网址,但语言参数将添加到网址。
问题是它没有重写到主题页面,而是被重写到我们的主页而不是主题页面。
www.mysite.co.uk/theme/cars等网址将改写为www.mysite.co.uk/themepages/themepage.aspx?pgid=1
添加语言参数:www.mysite.co.uk/theme/cars?lng = 2应该重定向到www.mysite.co.uk/themepages/themepage.aspx?pgid=1&lng2而不是重写为主页。地址栏中的网址是正确的。所以重写必须是不正确的。
这是我的httpd.conf
的一部分<VirtualHost www.mysite.co.uk>
RewriteEngine on
AllowOverride all
RewriteBase /
RewriteMap thememap txt:C:\rewritemaps/redirectmap.txt [NC]
RewriteCond %{QUERY_STRING} ^$ [OR]
RewriteCond %{QUERY_STRING} ^lng=(.*)$ [NC]
RewriteRule ^theme/([^?/]+)\.* /themepages/themepage.aspx?pgid=${thememap:$1} [NC,QSA,L]
</VirtualHost>
有人知道为什么会这样吗?