2013-04-22 44 views
1

我想不通这一个工作,它似乎的Prestashop URL重写停在URL中使用SSL(HTTPS),当工作:S,基本URL工作正常,像https://www.domain.se但例如图像不在图像url上使用https时加载。 这是htaccess文件,也许有人可以看到任何obvoius misstake?重写不使用SSL

# eTiendas.co Custom .htaccess prefix start 
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^domain.se$ [NC] 
RewriteRule ^(.*)$ http://www.domain.se/$1 [L,R=301] 
# eTiendas.co Custom .htaccess prefix end# eTiendas.co Custom .htaccess prefix start 
RewriteRule ^sv(.*)?$ http://www.domain.se$1 [R=301,L] 
RewriteRule ^en(.*)?$ http://www.domain.se$1 [R=301,L] 
# eTiendas.co Custom .htaccess prefix end 

# ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again 
# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution 

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^www.domain.se$ 
RewriteRule . - [E=REWRITEBASE:/] 
RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L] 

# Images 
RewriteCond %{HTTP_HOST} ^www.domain.se$ 
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L] 
RewriteCond %{HTTP_HOST} ^www.domain.se$ 
RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L] 
RewriteCond %{HTTP_HOST} ^www.domain.se$ 
RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L] 
RewriteCond %{HTTP_HOST} ^www.domain.se$ 
RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L] 
RewriteCond %{HTTP_HOST} ^www.domain.se$ 
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L] 
RewriteCond %{HTTP_HOST} ^www.domain.se$ 
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L] 
RewriteCond %{HTTP_HOST} ^www.domain.se$ 
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L] 
RewriteCond %{HTTP_HOST} ^www.domain.se$ 
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg [L] 
RewriteCond %{HTTP_HOST} ^www.domain.se$ 
RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L] 
RewriteCond %{HTTP_HOST} ^www.domain.se$ 
RewriteRule ^c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L] 

# Dispatcher 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteCond %{HTTP_HOST} ^www.domain.se$ 
RewriteRule ^.*$ - [NC,L] 
RewriteCond %{HTTP_HOST} ^www.domain.se$ 
RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L] 
</IfModule> 

<IfModule mod_expires.c> 
ExpiresActive On 
ExpiresByType image/gif "access plus 1 month" 
ExpiresByType image/jpeg "access plus 1 month" 
ExpiresByType image/png "access plus 1 month" 
ExpiresByType text/css "access plus 1 week" 
ExpiresByType text/javascript "access plus 1 week" 
ExpiresByType application/javascript "access plus 1 week" 
ExpiresByType application/x-javascript "access plus 1 week" 
ExpiresByType image/x-icon "access plus 1 year" 
</IfModule> 

FileETag INode MTime Size 
<IfModule mod_deflate.c> 
AddOutputFilterByType DEFLATE text/html 
AddOutputFilterByType DEFLATE text/css 
AddOutputFilterByType DEFLATE text/javascript 
AddOutputFilterByType DEFLATE application/javascript 
AddOutputFilterByType DEFLATE application/x-javascript 
</IfModule> 

#If rewrite mod isn't enabled 
ErrorDocument 404 /index.php?controller=404 

回答

2

由于该解决方案未张贴由作者:

更改以下文件(/ etc/apache2的/网站可用/默认SSL)来源:

<Directory /var/www/> 
      Options Indexes FollowSymLinks MultiViews 
      AllowOverride none 
      Order allow,deny 
      allow from all 
    </Directory> 

对此:

<Directory /var/www/> 
      Options Indexes FollowSymLinks MultiViews 
      AllowOverride all 
      Order allow,deny 
      allow from all 
    </Directory> 

还记得指定证书文件(在同一个虚拟主机文件),以及我们运行:

a2enmod SSL

a2ensite默认的SSL

服务的Apache2重启

+0

感谢..一直在寻找这一个小时左右的一个解决方案。任何理由为什么超过500多个意见,但没有upvotes?无论如何,它为我工作:) – cwiggo 2015-07-13 13:28:02