有人可以请解释我怎么可以让nginx重新在它的自己的子文件夹下的magento中的商店视图。
我有一个商店..以下代码在我的nginxconfiguration文件。
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 here / public_html
现在我有一个存储视图,可以通过一个子文件夹/ substore /
但我希望它从根文件夹magento index.php文件运行。 但是所有的链接仍然有URL中的子文件夹。
实际的magento存储视图configuration设置正确。 所以基本URL和基本链接URL是子文件夹的URL。
所有静态内容仍然从根域加载没有子文件夹罚款。
现在我一直在尝试做一个新的位置{}块,但似乎无法得到它的工作
我知道syslink的方法,但想尽量不要这样做。
真的我只需要找出如何使所有/subfolder/index.phpurl重写到magento中的根index.php文件,同时传递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;
任何人都知道这样做的正确方法?
我见过这么多次,为什么要保持多个商店在不同的子文件夹,是不是一个子域的工作?
正确的方法是保持你的商店,并使用下拉菜单select您的商店视图,并更改基本url….
那么在nginx中你可能需要使用mapconfiguration,
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; }
事实上,我从来没有尝试过,之前:)