在nginx中隐藏虚拟文件夹
我正在用多种语言调整一个全新的安装(一个prestashop fork) 问题:我的域名是“.es”(类似于mydomain.es),默认语言是西班牙语。因此,当西班牙用户加载页面时,url中会出现类似mydomain.es/es/的内容 我正试图“隐藏”这个“/es/”别名(或虚拟文件夹,不管叫什么),这样西班牙用户就可以看到mydomain.es/product-name而不是mydomain.es**/es/产品名,但其他语言仍然会显示该语言,如mydomain.es/en/**product-name 到目前为止,我已经尝试过:在nginx中隐藏虚拟文件夹,nginx,prestashop,Nginx,Prestashop,我正在用多种语言调整一个全新的安装(一个prestashop fork) 问题:我的域名是“.es”(类似于mydomain.es),默认语言是西班牙语。因此,当西班牙用户加载页面时,url中会出现类似mydomain.es/es/的内容 我正试图“隐藏”这个“/es/”别名(或虚拟文件夹,不管叫什么),这样西班牙用户就可以看到mydomain.es/product-name而不是mydomain.es**/es/产品名,但其他语言仍然会显示该语言,如mydomain.es/en/**produ
location = /es/ {
rewrite ^/es/(.*)$ /index.php last;
}
这是:
rewrite ^/es/(.*)$ $1 last;
但是没有任何效果,仍然显示/es/文件夹
有人能帮我吗?
谢谢
PS:有关详细信息,请尝试以下内容:
location / {
rewrite ^(.*)$ /es/$1;
}
Nginx是一个Web服务器,它不是一个Web应用程序。区别在于web服务器返回、缓存、保护由web应用程序准备的HTML页面和图像等。因此,如果您的HTML页面包含
,Nginx将按原样提供这些HTML页面。我要说的是,最好的办法是修复web应用程序中的问题。/es/
页面也是虚拟的,真正的url是domain.es/index.php?id_product=1&id_lang=1
,所以语言文件夹是一个虚拟重写,应该用我原来的问题来调整。打开你的网站页面,然后看看它的来源。你看到了什么链接?下一个问题:谁在HTML中生成了这样的链接?