从根目录重定向到子目录后如何运行从子目录打开购物车

How to run opencart from subdirectory after redirect from root to subdirectory

我需要一些帮助。我在根目录中有 www.mysite.com。从根目录重定向到子文件夹后,我想从子文件夹 运行 它。对于重定向,我在 root 的 htaccess 中添加了 RewriteRule ^$ /abc [R=301,L] 。我想,例如,如果用户在浏览器中输入 www.mysite.com,它应该重定向到 www.mysite。com/subfolder 而无需用户输入 www.mysite.com/subfolder 在浏览器中。我正在使用 OC 3.0.2.0。我已将所有文件和文件夹从根目录复制到子文件夹,并在 config.phpadmin/config.php[= 中进行了更改35=] 和 子文件夹 htaccess。当我输入 www.mysite.com 或 mysite.com 它重定向到 mysite.com/subfolder,但给出错误 "This page is not working"。当我从 root 的 htaccess 中删除 RewriteRule ^$ /abc [R=301,L] 并输入 www.mysite.com/subfolder,然后是页面 运行s。但是当我输入 mysite.com/subfolder 时,它会重定向回 mysite.com 并显示 mysite.com 的页面。我是否需要从非 www 重定向到 www 或从 www 重定向到非 www。我怎样才能实现这些重定向。请告诉我在根的 htaccess 中我需要在哪一行下放置重定向代码。目前我是在root的htaccess末尾或者RewriteBase之后输入的。 请注意,我想将我的站点同时保存在根文件夹和子文件夹中。请指导我如何 运行 在将其保存在根目录和子目录中后从根目录重定向到子目录后从子目录打开购物车。非常感谢您的大力帮助。谢谢

以下是我的根 htaccess。

RewriteOptions inherit

  # 1.To use URL Alias you need to be running apache with mod_rewrite enabled.

  # 2. In your opencart directory rename htaccess.txt to .htaccess.

  # For any support issues please visit: http://www.opencart.com

  Options +FollowSymlinks

  # Prevent Directoy listing
  Options -Indexes

  # Prevent Direct Access to files
  <FilesMatch "(?i)((\.tpl|.twig|\.ini|\.log|(?<!robots)\.txt))">
  Require all denied
  ## For apache 2.2 and older, replace "Require all denied" with these two 
  lines :
  # Order deny,allow
  # Deny from all
  </FilesMatch>
  # SEO URL Settings
  RewriteEngine On
  # If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/
        RewriteBase /

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

        ### Additional Settings that may need to be enabled for some servers
        ### Uncomment the commands by removing the # sign in front of it.
        ### If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that.

        # 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it:
        # php_flag register_globals off

        # 2. If your cart has magic quotes enabled, This may work to disable it:
        # php_flag magic_quotes_gpc Off

        # 3. Set max upload file size. Most hosts will limit this and not allow it to be overridden but you can try
        # php_value upload_max_filesize 999M

        # 4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
        # php_value post_max_size 999M

        # 5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
        # php_value max_execution_time 200

        # 6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
        # php_value max_input_time 200

        # 7. disable open_basedir limitations
        # php_admin_value open_basedir none
        RewriteEngine on
        RewriteCond %{HTTP_HOST} ^example.com [NC]
        RewriteRule ^(.*)$ http://www.example.com [L,R=301,NC]

        # php -- BEGIN cPanel-generated handler, do not edit
        # Set the “ea-php56” package as the default “PHP” programming language.
        <IfModule mime_module>
          AddHandler application/x-httpd-ea-php56 .php .php5 .phtml
        </IfModule>
        # php -- END cPanel-generated handler, do not edit

我的子文件夹htaccess如下

# 1.To use URL Alias you need to be running apache with mod_rewrite enabled.

# 2. In your opencart directory rename htaccess.txt to .htaccess.

# For any support issues please visit: http://www.opencart.com

Options +FollowSymlinks

# Prevent Directoy listing
Options -Indexes

# Prevent Direct Access to files
<FilesMatch "(?i)((\.tpl|.twig|\.ini|\.log|(?<!robots)\.txt))">
 Require all denied
## For apache 2.2 and older, replace "Require all denied" with these two lines :
# Order deny,allow
# Deny from all
</FilesMatch>

# SEO URL Settings
RewriteEngine On

# If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/

RewriteBase /Subfolder/
RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=extension/feed/google_base [L]
RewriteRule ^system/storage/(.*) index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_= [L,QSA]
### Additional Settings that may need to be enabled for some servers
### Uncomment the commands by removing the # sign in front of it.
### If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that.

# 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it:
# php_flag register_globals off

# 2. If your cart has magic quotes enabled, This may work to disable it:
# php_flag magic_quotes_gpc Off

# 3. Set max upload file size. Most hosts will limit this and not allow it to be overridden but you can try
# php_value upload_max_filesize 999M

# 4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value post_max_size 999M

# 5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_execution_time 200

# 6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_input_time 200

# 7. disable open_basedir limitations
# php_admin_value open_basedir none

下面的 .htaccess 脚本应该放在 public_html 文件夹的根目录下。这将重定向到 public_html\subfolder 并且那里的 .htaccess 应该处理其余部分 - 我试图在忽略 OpenCart htaccess 内容的同时保留示例 htaccess 中的其他规则。

Options +FollowSymlinks

# Prevent Directoy listing
Options -Indexes

# Prevent Direct Access to files
<FilesMatch "(?i)((\.tpl|.twig|\.ini|\.log|(?<!robots)\.txt))">
Require all denied
## For apache 2.2 and older, replace "Require all denied" with these two 
lines :
# Order deny,allow
# Deny from all
</FilesMatch>

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} !^/subfolder
RewriteRule (.*) subfolder/ [R=301,L]

# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php56” package as the default “PHP” programming language.
<IfModule mime_module>
  AddHandler application/x-httpd-ea-php56 .php .php5 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit

不用说,您需要将 "example.com" 和 "subfolder" 编辑为您自己的值