Переписать правило для корневого файла в nginx?
Я просто хочу перенаправить / в другой файл, а не index.php/.html.
Так на Apache я могу сделать это..
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule . /path/to/dir/index.html [L]
Попытка сделать это в nginx просто не запускается, кажется:
if (-f $request_filename){
set $rule_0 1$rule_0;
}
if ($rule_0 = "1"){
rewrite /. /path/to/dir/index.html last;
}
Также попробовал это:
if ($request_filename ~ "/index.php"){
set $rule_3 1$rule_3;
}
if ($args ~ "^$"){
set $rule_3 2$rule_3;
}
if ($rule_3 = "21"){
rewrite /. /wp-content/plugins/i-static/content/index.html last;
}
Он действует так, как будто его даже не существует, и просто печатает index.php.
1 ответ
Решение
Если вы хотите изолировать один URI /
, использовать location =
вариант. Пытаться:
location = / { rewrite ^ /new/index.html last; }
Это выполнит внутреннюю перезапись. Смотрите этот документ для деталей.