2013-03-18 76 views
0

我正在努力重定向仅位于名为店铺的文件夹中的我的电子商店。 我有2个htaccess文件,一个在域根(专门用于公司网站),另一个放在商店文件夹中。 我试着重写规则的许多变化,但我不能让它工作...如何将特定文件夹从HTTP重定向到HTTPS

如果我把这个进店的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] 

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

回答

0

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

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

不幸的是,我遇到的,,此网页有重定向循环”错误代码。任何想法可能导致这种情况? – hjuster 2013-03-18 11:19:10

+0

@hjuster这个规则单独做我的测试环境中描述的重定向。你的根或商店htacces中是否有其他规则?你的商店htaccess中有'R'标志吗? – 2013-03-18 11:21:52

+0

我已经更新了这个问题,你可以在两个htaccess文件中看到所有的重定向。顺便说一句,感谢您帮助我...... – hjuster 2013-03-18 11:27:31

相关问题