尝试让我的网站从域中删除子文件夹,例如:
example.com.au/moodle/test/pdf
会成为
example.com.au/test/pdf
尝试从任何 URL 中删除 moodle 组件。下面是我目前正在使用的,它不起作用。
server {
listen 80;
server_name example.com.au;
location /moodle {
rewrite ^/moodle(/.*)$ $1 last;
}
}
请告诉我哪里出了问题。我已经重新加载并重新启动了 nginx,所以我的块肯定出了问题。
答案1
好的,首先你没有在那里指定你的根,我不确定你是否只是为了简洁而省略了它,或者它根本就不存在。尝试这样的事情(不要忘记重新加载 nginx 配置)。
root 指令指定面向 Web 的文件所在的位置。通过将其设置为 moodle 目录本身,moodle 应该不再出现在您的 URL 中,因为所有请求都已在内部定向到它。
server {
listen 80;
server_name example.com.au;
root /path/to/moodle/web/root;
}
如果需要的话,重写应该遵循以下步骤:
location /moodle {
return 301 $scheme://$http_host/$1$is_args$query_string;
}
如果这不起作用,您能否提供整个站点配置。