Может кто-нибудь объяснить, как я могу заставить nginx повторно распознавать вид магазина в magento в своей собственной подпапке.
У меня есть магазин ... со следующим кодом в моем файле конфигурации nginx.
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param MAGE_RUN_CODE edu_default;
fastcgi_param MAGE_RUN_TYPE store;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 256k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
fastcgi_param SCRIPT_FILENAME /home/domain here/public_html$fastcgi_script_name;
}
у меня все мои файлы magento находятся в корневой папке: / home / domain здесь / public_html
теперь у меня есть представление магазина, к которому можно получить доступ через подпапку / substore /
Но я хочу, чтобы он запускался из корневой папки файла magento index.php. Но все же у всех ссылок есть подпапка в URL-адресе.
фактическая конфигурация представления магазина Magento настроена правильно. Таким образом, базовый URL-адрес и базовый URL-адрес ссылки - это URL-адрес с вложенной папкой.
все статическое содержимое по-прежнему загружается из корневого домена без исправления вложенной папки.
теперь я пытаюсь создать для него новый блок {} местоположения, но не могу заставить его работать
Я знаю метод syslink, но не хочу этого делать.
на самом деле мне просто нужно узнать, как заставить все URL-адреса /subfolder/index.php перезаписать в корневой файл index.php в Magento, передавая MAGE_RUN_CODE
Я только что попробовал этот блок местоположения под указанным выше. URL-адрес теперь работает, но я получаю 404 страницы в Magento. поэтому нельзя правильно передавать значения "какую страницу показывать"
location ~ /subfolder/.+\.php$ {
root /home/domainhere/public_html;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param MAGE_RUN_CODE storeviewcodehere;
fastcgi_param MAGE_RUN_TYPE store;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 256k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
fastcgi_param SCRIPT_FILENAME /home/domainhere/public_html$fastcgi_script_name;
ОБНОВЛЕНИЕ .1 хорошо, поэтому я обнаружил, что мне нужно использовать раздел ...
location @handler {
rewrite / /subfolder/index.php;
}
но это останавливает работу магазина верхнего уровня, поскольку все становится представлением вспомогательного магазина.
поэтому мне нужны правила перезаписи для
rewrite / /index.php;
и
rewrite / /subfolder/index.php;
кто-нибудь знает, как это сделать правильно?
Я видел это много раз, зачем хранить несколько магазинов в отдельных подпапках, разве это не работа поддомена ??
правильный способ - оставить свой магазин как есть, и с помощью раскрывающегося меню выбрать вид магазина и изменить базовый URL ...
тогда в nginx вам, возможно, понадобится использовать map
конфигурация
map $request_uri $mage_code {
default edu_default;
~^/my_other_shop/ edu_special;
}
map $request_uri $mage_type {
default edu_default;
~^/my_other_shop/ store;
}
на самом деле я никогда раньше этого не пробовал :)