RewriteRule 双斜杠问题
RewriteRule double slash issue
在我的 .htaccess 中有这个正则表达式:
RewriteRule ^thumbnails/([0-9]*)/([0-9]*)/(.*)$ lib/thumb.php?w=&h=&src= [QSA]
我在参数中传递 url 时遇到问题。正则表达式删除除一个以外的所有斜线。示例:
Enter: domain.com/thumbnails/200/143/http://img.youtube.com/vi/xxxxxxx/0.jpg
Result: domain.com/lib.tuhmb.php?w=200&h=143&src=http:/img.youtube.com/vi/xxxxxxx/0.jpg
注意 http: 后只有一个斜杠。
有什么想法吗?
谢谢!
这是 mod_rewrite
中的 预期行为 ,因为重写引擎在 [=14] 中应用模式时将多个 /
剥离为单个 /
=].
要克服这种行为,请使用 RewriteCond %{REQUEST_URI}
来捕获您的值,如下所示:
RewriteCond %{REQUEST_URI} ^/thumbnails/(\d+)/(\d+)/(.*)$ [NC]
RewriteRule ^ lib/thumb.php?w=%1&h=%2&src=%3 [L,QSA]
在我的 .htaccess 中有这个正则表达式:
RewriteRule ^thumbnails/([0-9]*)/([0-9]*)/(.*)$ lib/thumb.php?w=&h=&src= [QSA]
我在参数中传递 url 时遇到问题。正则表达式删除除一个以外的所有斜线。示例:
Enter: domain.com/thumbnails/200/143/http://img.youtube.com/vi/xxxxxxx/0.jpg
Result: domain.com/lib.tuhmb.php?w=200&h=143&src=http:/img.youtube.com/vi/xxxxxxx/0.jpg
注意 http: 后只有一个斜杠。
有什么想法吗?
谢谢!
这是 mod_rewrite
中的 预期行为 ,因为重写引擎在 [=14] 中应用模式时将多个 /
剥离为单个 /
=].
要克服这种行为,请使用 RewriteCond %{REQUEST_URI}
来捕获您的值,如下所示:
RewriteCond %{REQUEST_URI} ^/thumbnails/(\d+)/(\d+)/(.*)$ [NC]
RewriteRule ^ lib/thumb.php?w=%1&h=%2&src=%3 [L,QSA]