使用Mod_rewrite进行动态投放

时间:2017-06-19 17:58:37

标签: apache mod-rewrite mobile

我在mod_rewrite中添加了httpd.conf规则来尝试处理移动请求。如果发送设备上的浏览器接受移动内容,我想将请求重写为原始文件名,前面带有“m_”。因此,如果移动设备发送:

https://example.com/51/a1.html

我想把它重写为

 https://example.com/51/m_a1.html

我现在在httpd.conf中有以下几行:

RewriteCond %{HTTP_ACCEPT} "text\/vnd\.wap\.wml|application\/vnd\.wap\.xhtml\+xml" [NC]

RewriteRule ^example.com/([0-9]*)/(.*)$ ^example.com/$1/m_$2

但移动设备的请求不会被重写。 有没有人看到问题?

感谢。

1 个答案:

答案 0 :(得分:1)

那么你的第二行应该是这样的:

RewriteRule ^/([0-9]*)/(.*)$ /$1/m_$2

你的第一行并不需要逃避斜杠:

RewriteCond %{HTTP_ACCEPT} "text/vnd\.wap\.wml|application/vnd\.wap\.xhtml\+xml" [NC]

至于HTTP_ACCEPT次匹配的有效性,我还没有检查过它们。