正则表达式 – 具有不同域的图像的URL重写
我想使用以下网址:
http://mydomain.com/320x200/server/path/to/my/image.jpg 在哪里可以找到3个要重新检索的参数: > 320×200:可选参数,可以是两个数字(如“320×200”),或单个数字(如“320x”)或空(仅“x”) 并用另一个域重写它,如下所示: http://myotherdomain.com/320/200/server/path/to/my/image.jpg 我尝试了以下重写规则,但它不起作用: RewriteRule ^([0-9])x([0-9])/([a-zA-Z0-9])/([a-zA-Z0-9 /.])$htp:// myotherdomain. com / $1 / $2 / $3 / $4 [L] RewriteRule ^([0-9])x /([a-zA-Z0-9])/([a-zA-Z0-9 /.])$htp://myotherdomain.com/$1/$2/$3 [L] RewriteRule ^ x /([a-zA-Z0-9])/([a-zA-Z0-9 /.])$htp://myotherdomain.com/$1/$2 [L] 为什么不起作用? 当通过像regexplanet.com这样的网站测试时,3个正则表达式正在运行 我试图清除浏览器缓存,重新启动Apache,删除cookie,…仍然无法正常工作! 谢谢你的帮助 编辑: 最后,问题是我的.htaccess文件没有正确保存(不知道为什么). 我刚关闭并再次打开.htaccess,一切都好! 解决方法
你应该通过分组来划分工作.不要费心将x转换为/只是不捕获它.
RewriteRule ^([0-9]+)x([0-9]+/)([a-zA-Z0-9]+)/([a-zA-Z0-9/.]+)$http://myotherdomain.com/$1/$2$3/$4 [L] RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9/.]+)$http://myotherdomain.com/$1/$2 [L] >([0-9])分别捕获两个分辨率参数. 编辑: 可选性是一个陷阱.不要使用它 – >第二条规则. 如果其他域最终是同一个域: RewriteCond %{REQUEST_URI} ![0-9]+/[0-9]+.*$ 会阻止循环. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |