Bri*_*ian 3 wordpress mod-rewrite url-rewriting amazon-s3
基本上,我将我的所有图像移到s3,但在我的网站上会有大量旧图像位置的旧引用.希望将wp-content/uploads /文件夹中的任何内容重写为s3地址.
简短的故事是我对正则表达式并不是很好,并且已经有一段时间了.任何建议或帮助将不胜感激.
编辑:
这是我到目前为止所得到的:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php
RewriteRule ^wp-content/uploads/(.*)$ http://example.s3.amazonaws.com/wp-content/uploads/$1 [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
Dan*_*llo 11
您也可以使用mod_proxy 设置反向代理,而不是使用mod_rewrite .这应该更容易配置 - 不需要正则表达式.
设置反向代理的基本mod_proxy指令是ProxyPass.您通常会将以下行添加到本地Apache配置文件中(通常httpd.conf或apache2.conf):
ProxyPass /wp-content/uploads/ http://example.s3.amazonaws.com/wp-content/uploads/
Run Code Online (Sandbox Code Playgroud)
在这种情况下,浏览器会请求,http://your-domain.com/wp-content/uploads/abc.png但您的Web服务器将通过充当代理来为此服务http://example.s3.amazonaws.com/wp-content/uploads/abc.png.
您还需要确保在Apache配置文件中取消注释以下配置行:
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
Run Code Online (Sandbox Code Playgroud)
在对配置文件进行任何更改后,请确保重新启动本地Apache服务.
此外,请确保为虚拟主机(Amazon文档)设置Amazon S3存储桶.
| 归档时间: |
|
| 查看次数: |
4260 次 |
| 最近记录: |