Как установить OpenCart из поддиректории после перенаправления от корней до поддиректории

Как установить OpenCart из поддиректории после перенаправления от корней до поддиректории

13.09.2019 10:04:32 Просмотров 57 Источник

Мне нужна помощь. У меня есть www.mysite.com в корневом каталоге. Я хочу запустить его из подпапки после перенаправления из корневой папки в подпапку. Для перенаправления я добавил RewriteRule ^ $ / abc [R=301, L] в htaccess root. Я хочу, например, если пользователь вводит www.mysite.com в браузере, он должен перенаправить на www.mysite.com/subfolder не требуя от пользователя ввода www.mysite.com/subfolder в браузере. Я использую OC 3.0.2.0 . Я скопировал все файлы и папки из корневой папки в подпапку и внес изменения в конфигурацию.на PHP, админ/конфиг.php и htaccess подпапки . Когда я вхожу www.mysite.com или mysite.com он перенаправляет на mysite.com/subfolder, но выдает ошибку "эта страница не работает". Когда я удаляю RewriteRule ^ $ / abc [R=301, L] из htaccess корня и введите www.mysite.com/subfolder , затем страница запускается. Но когда я вхожу mysite.com/subfolder, затем он перенаправляет обратно на mysite.com и показывая страницу mysite.com. нужно ли мне перенаправлять с non-www на www или с www на non-www. Как я могу добиться этих перенаправлений. Пожалуйста, сообщите мне, под какой строкой мне нужно поместить код для перенаправления в htaccess root. На данный момент, я ввел его в конце htaccess root или после перезаписи базы. Обратите внимание, что я хочу сохранить свой сайт как в корневой, так и в подпапке . Пожалуйста, направьте меня, как я могу запустить opencart из подкаталога после перенаправления из корневого каталога в подкаталог, сохранив его как в корневом, так и в подкаталоге. Я был бы очень благодарен за вашу большую помощь. Спасибо

Ниже приведен мой корневой 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_=$1 [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$1 [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_=$1 [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
У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/57918804/how-to-run-opencart-from-subdirectory-after-redirect-from-root-to-subdirectory#comment102262168_57918804
Вы пробовали переименовать подпапку?файл htaccess в htaccess.txt как тест? Это поможет вам определить, что именно .файл htaccess вызывает проблему. Возможно, вы собираетесь в цикл перенаправления
https://stackoverflow.com/questions/57918804/how-to-run-opencart-from-subdirectory-after-redirect-from-root-to-subdirectory#comment102264631_57918804
@Daniel я переименовал подпапку .файл htaccess в htaccess.txt и удалили код перенаправления из корневого htaccess. После этого, когда я войду mysite.com в браузере, он отображает страницу. Когда я войду www.mysite.com/Subfolder, он перенаправляет на mysite.com/Subfolder и страница отображается. Когда я войду mysite.com/Subfolder, затем он перенаправляется на mysite.comsubfolder/ и после этого отображается "этот сайт не может быть достигнут.www.мой_сайт.не удалось найти IP-адрес сервера comsubfolder."Пожалуйста, руководство, чтобы решить эту проблему и как я могу выйти из цикла перенаправления. Спасибо
https://stackoverflow.com/questions/57918804/how-to-run-opencart-from-subdirectory-after-redirect-from-root-to-subdirectory#comment102284366_57918804
Чтобы увидеть, что сайт работает, когда .файлы htaccess переименовываются, что означает, что код работает нормально, это просто ваши правила перенаправления / перезаписи, дающие проблемы. Это опечатка, когда вы включили "подпапку"в часть". com " URL-адреса? например, "сайт.comsubfolder/" не должно быть "mysite.com/subfolder"?
https://stackoverflow.com/questions/57918804/how-to-run-opencart-from-subdirectory-after-redirect-from-root-to-subdirectory#comment102300994_57918804
@Даниэль я думаю, что вы правы, это только правило перенаправления, которое создает проблемы для меня. Это не опечатка, когда я вхожу mysite.com/Subfolder затем он перенаправляет на мой сайт.comsubfolder/ и после этого отображается "этот сайт не может быть достигнут.www.мой_сайт.не удалось найти IP-адрес сервера comsubfolder."
https://stackoverflow.com/questions/57918804/how-to-run-opencart-from-subdirectory-after-redirect-from-root-to-subdirectory#comment102327418_57918804
Вы можете вставить содержимое .htaccess в папке? Похоже, что есть перенаправление, которое отсутствует "/"
https://stackoverflow.com/questions/57918804/how-to-run-opencart-from-subdirectory-after-redirect-from-root-to-subdirectory#comment102378801_57918804
@ Даниэль я очень благодарен за ваши усилия, чтобы решить мою проблему. Я добавил два файла htaccess в вопрос. Пожалуйста, взгляните на это. Спасибо
https://stackoverflow.com/questions/57918804/how-to-run-opencart-from-subdirectory-after-redirect-from-root-to-subdirectory#comment102380605_57918804
@Daniel в свете вашего руководства я выяснил некоторые ошибки в htaccess корня. RewriteRule ^(.* ) $ example.com$1 [L, R=301, NC] должен выглядеть так: RewriteRule ^(.* ) $ example.com/$1 [L, R=301, NC]. Но все же мне нужна ваша помощь, чтобы перенаправить из корневого каталога в подкаталог. Спасибо

Ответы - Как установить OpenCart из поддиректории после перенаправления от корней до поддиректории / How to run opencart from subdirectory after redirect from root to subdirectory

Является ответом!
Daniel

18.09.2019 10:48:54

Ниже .скрипт htaccess должен быть размещен в корне папки public_html. Это приведет к перенаправлению в public_html\subfolder\и далее .htaccess там должен обрабатывать остальное - я попытался сохранить другие правила в вашем примере htaccess, игнорируя содержимое OpenCart 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/$1 [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" и "подпапка" к вашим собственным значениям

https://stackoverflow.com/questions/57918804/how-to-run-opencart-from-subdirectory-after-redirect-from-root-to-subdirectory/57987614#comment102416145_57987614
Извините @Daniel это не работает. Когда я войду example.com в адресной строке он не перенаправляется на example.com/subfolder но он остается на уровне example.com и страница отображается с текстом "страница, которую вы запросили, не может быть найдена". Однако я глубоко ценю ваши искренние усилия.
Закрыть X