我希望做的是重写如下 URL:
wiki.mydomain.com/simplesaml/module.php/core
像这样:
sso.mydomain.com/simplesaml/module.php/core
所有其他 URL(例如wiki.mydomain.com/index.php/Article
等)应继续从 提供服务wiki.mydomain.com
。域wiki.mydomain.com
和sso.mydomain.com
都由 nginx 本身提供服务并配置为虚拟主机。这是我到目前为止想出的重写规则,但它不起作用:
rewrite ^ http://wiki.nomadly.in/simplesaml/(*) http://sso.nomadly.in/simplesaml/$1 break;
任何帮助将不胜感激。
答案1
如果你只想重定向wiki.mydomain.com/simplesaml/modules.php/core
。你可以使用这个:
rewrite /simplesaml/module.php/core http://sso.mydomain.com/simplesaml/module.php/core permanent;
如果您想要将 /simplesaml 下的所有内容重定向到 下的相同 URI sso.mydomain.com
,请使用以下命令:
location /simplesaml {
rewrite ^ http://sso.mydomain.com$request_uri permanent;
}
最重要的部分是permanent
重写行上的定义,它导致 nginx 将301
重定向发送到新的 URL。