【发布时间】:2013-08-31 01:34:31
【问题描述】:
我不明白为什么,但是:
RewriteCond %{HTTP_HOST} market\.mysite\.com$ [NC]
RewriteCond %{HTTP_HOST} !^market\.mysite\.com$ [NC]
RewriteCond %{REQUEST_URI} \.(png|jpe?g|bmp|gif|swf|css|js)$ [NC]
RewriteRule ^(.*) http://market.mysite.com/$1 [L,R]
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
按预期工作。将图像重定向到其他域。但是这个:
RewriteCond %{HTTP_HOST} market\.mysite\.com$ [NC]
RewriteCond %{HTTP_HOST} !^market\.mysite\.com$ [NC]
RewriteCond %{REQUEST_URI} !\.(png|jpe?g|bmp|gif|swf|css|js)$ [NC]
RewriteRule ^(.*) http://market.mysite.com/$1 [L,R]
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
无论如何都会重定向。我想看到的是重定向除图像之外的所有内容。 我在上面的规则中尝试做的是将market.mysite.com 的所有子域重定向到market.mysite.com,如果它不是market.mysite.com 并且不是图像。换句话说:
cdn.market.mysite.com -> market.mysite.com
cdn.market.mysite.com/blahblah.html -> market.mysite.com/blahblah.html
cdn.market.mysite.com/blahblah.png -> NO REDIRECT
market.mysite.com -> NO REDIRECT
我使用通配符子域,因此我所有的市场子子域都将使用相同的目录。然后通过一个 php 文件响应所有请求。 index.php
谢谢,
【问题讨论】:
-
如果我将该 4 行规则添加到空白 htaccess 文件中,
!排除条件对我来说效果很好。以这些扩展名之一结尾的任何内容都不会被重定向 -
你的问题解决了吗?
-
还没有。我仍然无法让它工作。
-
示例网站是:store.irgservers.com/test.png
标签: regex apache .htaccess mod-rewrite