Apache как вэб сервер очень «тяжелый» и использовать его только ради mod_rewrite больно дорогое удовольствие для производительности, по этому я настраиваю сайты на связку nginx + php-fpm, общие настройки в сети и так доступны, а я лишь приведу пример конфига для nginx для корректной работы opencart cms третьей ветки
server { listen 80; listen [::]:80; server_name example.com www.example.com; index index.php index.html; root /home/webuser/www/example.com/public_html; access_log /var/log/nginx/example.com-access.log; error_log /var/log/nginx/example.com-error.log; location ~* \/\.ht { deny all; } location ~* (\.tpl|.twig|\.ini|\.log|(?<!robots)\.txt) { deny all; } location ~* \/\.git { deny all; } location ~* \/image.+(\.php) { deny all; } location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { expires max; log_not_found off; } location = /sitemap.xml { rewrite ^(.*)$ /index.php?route=extension/feed/google_sitemap last; } location = /googlebase.xml { rewrite ^(.*)$ /index.php?route=extension/feed/google_base last; } location /system { rewrite ^/system/storage/(.*) /index.php?route=error/not_found last; } location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location /admin { index index.php; } location / { try_files $uri @opencart; } location @opencart { rewrite ^/(.+)$ /index.php?_route_=$1 last; } location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_buffers 16 16k; fastcgi_buffer_size 32k; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
Чувак!) Огромное спасибо!)
Мне подошло и помогло =)
А то мучался с тем что ЧПУ не стартовали =(
Вот она магия =)
location / {
try_files $uri @opencart;
}
location @opencart {
rewrite ^/(.+)$ /index.php?_route_=$1 last;
}
Окружение laradock, не могу настроить nginix. После перегзагрузки nginix, я захожу в адимнку (все работает), тогда в каталог, я не могу попасть, выдает ошибку, что файлы не найдено все пути указывают на админку. Обратно перегружаю nginix, теперь захожу в каталог (все работает) , и аналогично с первым действием, только теперь не могу попасть в адимнку выдает ошибку что файлы не найдено все пути указывают на админку.
Это что то с окружением хитрое происходит. Я могу вам собрать докер окружение для опенкарта если вам требуется для разработки с настроенными конфигами
Спасибо дружище) Заработало)))) Подключил для ocstore 2.3!
У меня не работают ссылки со включенным ЧПУ((( Version 3.0.3.2 (rs.2)
Редиректы на главную страницу по ссылкам становятся
Подскажите а вы можете настроить vds для opencart?
Подскажите как можно сделать 301 редирект со страницы с двойным (3, 4 , 5 итд) слешами на один слеш
есть
sait.ru//
sait.ru///
надо перенаправлять 301 на sait.ru/
опенкарт 2,3
пробовал так не вышло
rewrite ^(.*?)/+/(.*)$ $1/$2 permanent;
rewrite ^([^/]+)/+$ $1 permanent;
rewrite ^(.*)/{2,}(.*)$ /%1/%2 redirect;
Спасибо большое, я пока ещё не проверил настройки, но уже по содержанию ясно видна полезность.
Взял за основу ваш конфиг, дописал ssl и еще пару настроек и всё заработало! Огромное Вам человеческое спасибо, а то никак не мог заставить нормально ЧПУ работать.