[英]URL rewriting of WooCommerce API V2 URLs in WordPress does not work
[英]rewriting image urls to other domain does not work (gives 404)
以下重寫規則出了點問題。 我以為自己做對了,因為我是從書本上復制的,而不是應該重定向到另一個域的。
我得到以下網址:
http://www.domaina.com/some-Text-is-here-B40178.jpg
圖片位於網址:
http://www.domainb.com/imgs/B40178.jpg
為了使這項工作有效,應如何編寫底層重寫規則?
RewriteRule ^.*-B([0-9]+)\\../$ http://www.domainb.com/imgs/B$1 [L]
您的規則缺少擴展名,因此不匹配。 而且看起來您最后還有一個多余的/。 如果始終為jpg,則可以添加。 或者只是匹配任何內容。
另外,您還需要捕獲該擴展名。
匹配“ jpg”
RewriteRule ^.*-B([0-9]+\.jpg)$ http://www.domainb.com/imgs/B$1 [R,L]
符合任何條件
RewriteRule ^.*-B([0-9]+\..+)$ http://www.domainb.com/imgs/B$1 [R,L]
我的首選方法是匹配某些圖像類型:
RewriteRule ^.*-B([0-9]+)\.(jpg|gif|png)$ http://www.domainb.com/imgs/B$1.$2 [R,L]
編輯錯過了您正在重定向到另一個域。 您還需要R標志。 我加了
您需要將規則標記為重定向,如下所示:
RewriteRule ^.*-B([0-9]+)\../$ http://www.domainb.com/imgs/B$1 [R,L]
編輯:您還需要添加文件擴展名。 我會很懶,並假設它們都是JPG:
RewriteRule ^.*-B([0-9]+).jpg$ http://www.domainb.com/imgs/B$1.jpg [R,L]
最后,我找到了一個不使用重定向的更好的解決方案:
RewriteCond %{REQUEST_URI} !^$
RewriteCond %{REQUEST_URI} !^/
RewriteRule .* - [R=400,L]
RewriteRule ^.*-B([0-9]+)\.(jpg|jpeg|png|gif|JPG|GIF|PNG|JPEG)$ http://www.domain.com/imgs/B$1.$2 [P,L]`
因此,在URL中,圖像看起來好像不是來自另一個域。 P代表Proxy( http://httpd.apache.org/docs/2.4/rewrite/proxy.html )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.