Я запускаю magento на nginx.
Мой корень /pub
Но есть некоторые расширения, которые пытаются ссылаться на www.myurl.com/pub/xxx.file
, поэтому я хочу переписать все /pub
так как /
Мой план был для www.myurl.com/pub/xxx.file
стать www.myurl.com/xxx.file
, Но это не работает.
Вот мой файл conf ( abcdefg
это тестовый каталог):
server {
listen 443 ssl http2;
server_name www.myurl.com ;
index index.html index.htm index.php default.html default.htm default.php;
root /home/wwwroot/www.myurl.com/pub;
ssl on;
ssl_certificate /etc/letsencrypt/live/www.myurl.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/www.myurl.com/privkey.pem;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "myciphers";
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;
location /pub {
rewrite /pub /;
}
location ^~/abcdefg {
rewrite /abcdefg/ /1234567/;
}
include other.conf;
if (!-e $request_filename) {
rewrite ^(.+)$ /index.php;
}
set $MAGE_MODE production;
include enable-php.conf;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
#location ~ /.well-known {
# allow all;
#}
#location ~ /\.
#{
# deny all;
#}
access_log /home/wwwlogs/shopkey.doyustudio.com.log;
error_log /home/wwwlogs/shopkey.doyustudio.com.error.log debug;
}
вместо установки root /home/wwwroot/www.myurl.com/pub;
использовать root /home/wwwroot/www.myurl.com/;
а затем создайте локацию с примеркой pub
реж, вот так
location / {
try_files /pub/$uri $uri;
}
Это говорит о том, что сначала нужно искать $ uri на pub
каталог, если он не существует, попробуйте root
каталог