我有一个 WordPress 博客,我想将所有请求重定向到某个特定的帖子/页面,不包括 js、css(和图像)。
因此 example.com/some-post/ 必须(临时)重定向到 exmaple.com/catch-all/
我正在尝试这个,但似乎不太管用(我不确定是否需要使用 $uri):
if ($uri !~ \.css$) {
set $redi C;
}
if ($uri !~ \.js$) {
set $redi "($redi)J";
}
if ($uri !~ /catch-all/$) {
set $redi "($redi)P";
}
if ($redi = CJP) {
rewrite ^(.*)$ https://example.com/catch-all/ last;
return 302;
}
答案1
使用空location
块来避免某些请求的重定向:
location ~ \.css$ {}
location ~ \.js$ {}
location /catch-all/ {}
location / {
rewrite ^(.*)$ /catch-all/ redirect;
}