0
我如何重写静态文件的要求如 http://example.com/assets/img/logo.png 到 http://assets.example.com/img/logo.png的Apache2 mod_rewrite的规则
主站点重写规则
ServerName example.com
ServerAlias example.com
DocumentRoot /var/www/html/example.com/public/
<Directory /var/www/html/example.com/public/ >
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
RewriteEngine on
RewriteCond %{HTTP_HOST} !assets\.site\.com
RewriteCond %{REQUEST_URI} \.(png|gif|ico|css|js|tiff|woff|woff2|ogg|mp3)$ [NC]
RewriteRule ^(.*) http://assets.example.com$1 [NC,L]
子域名资产是否工作正常
虚拟主机配置assets.example.com
ServerName assets.example.com
ServerAlias assets.example.com
DocumentRoot /var/www/html/example.com/public/assets/
<Directory /var/www/html/example.com/public/assets/ >
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
http://assets.example.com/img/logo.png给出了404 但如果我创建一个/var/www/html/example.com/public/assets/assets/然后http://assets.example.com/img/logo.png reutns 200
我不相信你可以使用'mod_rewrite'做跨域重写。我会建议看看[mod_proxy](https://httpd.apache.org/docs/2.4/howto/reverse_proxy.html),并做一个'proxy_pass' – Charles
我能够重写所有/ assets/img/logo。 PNG等assets.example.com/assets/img/logo.png。唯一的问题是重复的“/ assets /” – erax