Mod_rewrite htaccess规则,但特定文件无法正常工作

时间:2014-10-24 10:21:03

标签: php apache .htaccess mod-rewrite redirect

这是我的htaccess文件:

Options +FollowSymLinks
RewriteEngine On
AcceptPathInfo On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA]

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.domain.com/%2 [L,R=301]

这是我的网站结构:

 error_log
 lib/
 mail/
 public_html/
 www/
 access-logs/
 etc/

.htaccess文件位于public_html内 在public_html内,我有/assets/images/uploads

规则重定向/ assets和/ images,但是:

http://www.domain.com/uploads/100_100/2014/10/24/5/0/841453939422001907988782-1-100_100.jpg

重定向到www.domain.com。

编辑:从access_log下面输入:

ip - - [24/Oct/2014:17:54:37 +0300] "GET /uploads/100_100/2014/10/13/d/2/80550090151440232989044-1-100_100.jpg HTTP/1.1" 301 20 "http://www.domain.com/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Ch$

任何想法为什么?

1 个答案:

答案 0 :(得分:0)

问题似乎出现在您的重定向规则中:

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301]

同时将此规则保留在RewriteBase行的下方。