我很難弄清楚什麼是錯誤。在使用CDN重定向到.htaccess中時重定向圖像上的循環
只要我將我的CDN代碼添加到我的.htaccess中以將靜態內容重定向到CDN,就會導致這些文件發生重定向循環。
我注意到他們保持重定向到自己而不是加載文件。
我的.htaccess:
RewriteEngine On
# Force no www
RewriteCond %{HTTP_HOST} ^www [NC]
RewriteRule ^.*$ http://domain.com/$0 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://domain.com/ [R=301,L]
# Rewrite domain.com/p/contact to index.php?p=contact
RewriteRule ^p/([^/]+)/?$ /index.php?p=$1 [L]
我的CDN的代碼,會導致網站:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault A0
# Set up caching for 1 week(s)
<FilesMatch "\.(jpe?g|gif|png|bmp|pdf|docx?|xlsx?|ppt|rar|zip|tar|gz|tgz|bz2|flv|avi|mov|wmv|mp3|wav)$">
ExpiresDefault A604800
Header append Cache-Control "public"
</FilesMatch>
# Set up caching for 1 day(s)
<FilesMatch "\.(xml|txt)$">
ExpiresDefault A86400
Header append Cache-Control "public"
</FilesMatch>
# Set up caching for 1 hour(s)
<FilesMatch "\.(js|css)$">
ExpiresDefault A3600
Header append Cache-Control "proxy-revalidate"
</FilesMatch>
# Force no caching for dynamic files
<FilesMatch ".(php|cgi|pl|htm)$">
ExpiresActive Off
Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform"
Header set Pragma "no-cache"
</FilesMatch>
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP:Via} !\.s\.worldcdn\.com
# Flash wont work on cross-domain by default
RewriteCond $1 !^.swf$ [NC]
RewriteCond $1 "\.(jpe?g|gif|png|bmp|ico|js|css|pdf|docx?|xlsx?|ppt|rar|zip|tar|gz|tgz|bz2|flv|avi|mov|wmv|mp3|wav|xml|txt)$" [NC]
RewriteRule ^(.*) http://cdn.domain.com/$1 [L,R]
</IfModule>
子域,CDN等都是正確設置。
也許這是CDN的問題? 歡呼你的幫助!
非常感謝! :) – rafleo 2012-02-02 16:01:45