【发布时间】:2015-09-16 19:47:27
【问题描述】:
我正在尝试根据子域字符串重定向图像、css、js 和其他一些文件夹:
万维网:
- www.domain.com/css/main.css --> /站点/css/main.css
- www.domain.com/images/logo.png --> /网站/images/logo.png
所有其他子域:
- other1.domain.com/css/main.css --> /app/css/main.css
- other2.domain.com/css/main.css --> /app/css/main.css
- otherX.domain.com/js/script.js --> /app/js/script.js
所有其他请求都必须通过 index.php 进行路由
到目前为止,我所拥有的只是部分工作:
#THIS BLOCK WORKS
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L] # <--DON'T KNOW ABOUT THESE FLAGS
# SUBDOMAIN - THIS PART WORKS
RewriteCond %{HTTP_HOST} !^www\.subdomain\.[a-z] <--# ADDED [a-z] .dev or .com
RewriteRule ^css/(.*)$ /app/css/$1 [R,NC,L]
RewriteRule ^js/(.*)$ /app/js/$1 [R,NC,L]
RewriteRule ^assets/(.*)$ /app/assets/$1 [R,NC,L]
RewriteRule ^images/(.*)$ /app/images/$1 [R,NC,L]
RewriteRule ^uploads/(.*)$ /app/uploads/$1 [R,NC,L]
# OR
# WWW - THIS PART WORKS
RewriteCond %{HTTP_HOST} ^www\.subdomain\.[a-z] <--# ADDED [a-z] .dev or .com
RewriteRule ^css/(.*)$ /site/css/$1 [R,NC,L]
RewriteRule ^js/(.*)$ /site/js/$1 [R,NC,L]
RewriteRule ^assets/(.*)$ /site/assets/$1 [R,NC,L]
RewriteRule ^images/(.*)$ /site/images/$1 [R,NC,L]
RewriteRule ^uploads/(.*)$ /site/uploads/$1 [R,NC,L]
# BUT NOT TOGETHER
RewriteRule ^.*$ index.php [NC,L]
我无法让这两组规则同时发挥作用。
我最好有类似的东西:
RewriteCond %{HTTP_HOST} !^www.domain.[a-z]
重写规则 ^(.?).(php|css|js|jpg|jpeg|png|pdf)/(.)$ /app/css/$1 [L]
提前谢谢你!
【问题讨论】: