Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

[HowTo] web.config для Opencart 2.0


 Поделиться

Рекомендованные сообщения

Полный перевод правил .htaccess из сборки OpenCart 2.0 в web.config

+ добавлено условие редиректа с домена с www на домен без www 

 

 

 

<rewrite>
  <rules>
    <!--# 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-->
    <!--# Prevent Directoy listing -->
    <!--# Prevent Direct Access to files-->
    <!--# SEO URL Settings-->
    <!--# If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/ -->
    <rule name="Imported Rule 1" stopProcessing="true">
      <match url="^sitemap.xml$" ignoreCase="false" />
      <action type="Rewrite" url="index.php?route=feed/google_sitemap" appendQueryString="false" />
    </rule>
    <rule name="Imported Rule 2" stopProcessing="true">
      <match url="^googlebase.xml$" ignoreCase="false" />
      <action type="Rewrite" url="index.php?route=feed/google_base" appendQueryString="false" />
    </rule>
    <rule name="Imported Rule 3" stopProcessing="true">
      <match url="^system/download/(.*)" ignoreCase="false" />
      <action type="Rewrite" url="/index.php?route=error/not_found" appendQueryString="false" />
    </rule>
    <rule name="Imported Rule 4" stopProcessing="true">
      <match url="^([^?]*)" ignoreCase="false" />
      <conditions>
        <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
        <add input="{URL}" pattern=".*\.(ico|gif|jpg|jpeg|png|js|css)" ignoreCase="false" negate="true" />
      </conditions>
      <action type="Rewrite" url="index.php?_route_={R:1}" appendQueryString="true" />
    </rule>
    <rule name="Imported Rule 5" stopProcessing="true">
      <match url="^(.*)$" ignoreCase="false" />
      <conditions>
        <!--### 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-->
        <add input="{HTTP_HOST}" pattern="^www\.domen\.ru$" />
      </conditions>
      <action type="Redirect" redirectType="Permanent" url="http://domen.ru/{R:1}" />
    </rule>
  </rules>
</rewrite>

 

 

 

Кому это нужно? 

- Только для тех немногих, счастливых обладателей интернет-магазинов работающих на сервере windows.

 

1. В текстовом редакторе создаем файл с названием web.config

2. Копируем содержимое спойлера.

3. В строчке 51 и 53 меняем - domen- на имя вашего сайта (без.ru)

4. Файл web.config - помещаем в корень сайта.

 

Файл .htaccess.txt  оставляем без изменений.

Подключаем seo_url или seo_pro 

 

 

  • +1 3
Ссылка на комментарий
Поделиться на других сайтах


Обстоятельства в  виде арендованного сервера с действующим ИМ на ASP.net  и плавный переход на php. Или открытие другого ИМ с более гибким функционалом как у Opencart к примеру. Сервер нормальный, ресурсы позволяют. Не второй же сервер покупать, что бы потестить opencart на живом клиенте?

 

Вторая неделя теста - наблюдаю конфликты по web.config и отображению картинок. 

 

Как вариант сейчас ставлю на winserver - apache - посмотрю что получится из такой связки.

Ссылка на комментарий
Поделиться на других сайтах


 

кстати что может заставить человека поставить opencart на iis?

Вы путаете праведное с грешным

opencart в качестве серверных скриптов использует php

IIS поддерживает работу с php.

 

 

Не вижу ничего плохого в использовании iis, тем более если он правильно и безопасно настроен

 

Для неверующих... uptime window's серверов иногда превышает uptime *nix серверов.

 

Иногда - это не значит, что редко, а значит что сопоставимо.

 

Например у меня под потолком крутится файлопомойка на 2000 винде, если бы не уже старый упс, то у нее был бы аптайм около 5лет.

 

Кроме того на нем работает тестовый локальный сервер, не iis. В начале жизни крутился и iis, но необходимость отпала.

 

Так что ТС - удачи.

Ссылка на комментарий
Поделиться на других сайтах

 <httpErrors errorMode="Custom" defaultResponseMode="ExecuteURL" existingResponse="Replace">
            <remove statusCode="500" subStatusCode="-1" />
            <remove statusCode="403" subStatusCode="-1" />
            <remove statusCode="404" subStatusCode="-1" />
            <remove statusCode="404" subStatusCode="2" />
            <remove statusCode="404" subStatusCode="3" />
            <error statusCode="404" subStatusCode="3" path="/index.php?route=error/not_found" responseMode="ExecuteURL" />
            <error statusCode="404" subStatusCode="2" path="/index.php?route=error/not_found" responseMode="ExecuteURL" />
            <error statusCode="404" subStatusCode="-1" path="/index.php?route=error/not_found" responseMode="ExecuteURL" />
            <error statusCode="403" prefixLanguageFilePath="" path="/index.php?route=error/not_found" responseMode="ExecuteURL" />
            <error statusCode="500" prefixLanguageFilePath="" path="/index.php?route=error/not_found" responseMode="ExecuteURL" />
        </httpErrors>
          </system.webServer>

Еще обязательно добавить нужно обработка 404 ошибки

Изменено пользователем unifree
Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.