【问题标题】:htaccess css / js / images redirect based on subdomain stringhtaccess css / js / images 基于子域字符串重定向
【发布时间】: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]

提前谢谢你!

【问题讨论】:

    标签: .htaccess url-redirection


    【解决方案1】:

    只用了一个不眠之夜,我就找到了它!

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} -s [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    
    RewriteRule ^.*$ - [NC,L]
    
    RewriteCond %{HTTP_HOST} !^www\.domain\.[a-z]
    RewriteRule ^(css|js|images|assets)/(.*)$ /app/$1/$2 [R,NC,L]
    
    RewriteCond %{HTTP_HOST} ^www\.domain\.[a-z]
    RewriteRule ^(css|js|images|assets)/(.*)$ /site/$1/$2 [R,NC,L]
    
    RewriteRule ^.*$ index.php [NC,L]
    

    【讨论】:

      猜你喜欢
      • 2012-06-08
      • 1970-01-01
      • 2012-07-21
      • 2018-11-20
      • 2011-11-20
      • 1970-01-01
      • 2018-08-14
      • 2013-07-14
      • 2018-10-13
      相关资源
      最近更新 更多