如何将特定文件夹从HTTP重定向到HTTPS

时间:2013-03-18 11:12:02

标签: .htaccess mod-rewrite redirect

我正在努力重定向位于名为 shop 的文件夹中的电子商店。 我有2个htaccess文件,一个在域根目录(专用于公司网站),另一个放在商店文件夹中。 我已尝试过重写规则的许多变体,但我无法使其工作......

如果我把它放到商店的htaccess文件中,我会收到重定向循环错误:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

这在htaccess文件中都没有做任何事情:

RewriteEngine on
RewriteCondition %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://www.maindomain.com/order/$1 [R=301,L]

当我把它放在文档根目录上的htaccess文件中时,这两个都没有:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(subdirectory/.*)$ https://www.mydomain.com/$1 [R=301,L]

注意:如果它有任何区别,我也有这个重定向规则。它位于文档根目录的htaccess中:

RewriteBase /
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{HTTP_HOST} !^rumako.cz$ [NC]
RewriteRule ^(.*)$ http://rumako.cz/$1 [L,R=301]
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]

这个店铺的htaccess:

    RewriteEngine On
    RewriteBase /shop
    RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
    RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
    RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

请指教。感谢所有答案...

1 个答案:

答案 0 :(得分:0)

您的第一条规则是正确的,您只能添加R标志

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]