0

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

如果我将它放入商店的 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]

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

4

1 回答 1

0

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

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
于 2013-03-18T11:15:51.070 回答