使用nginx的子文件夹下的magento存储视图

有人可以请解释我怎么可以让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; } 

事实上,我从来没有尝试过,之前:)