Tecnología Nginx Rewrite
Reescribe la sintaxis:
rewrite {
规则} {
定向路径} {
重写类型}
rewrite ^/(.*) http://www.test.com/$1 permanent;
Reescribir tipo de reescritura:
Last es equivalente a la marca [L] en Apache, lo que significa que
se completa la interrupción de reescritura . Una vez que se cumple esta regla, la coincidencia se terminará y las siguientes reglas ya no coincidirán.
Redirect devuelve una redirección temporal 302, y la dirección del navegador mostrará la dirección URL redirigida
permanente. Devuelva la redirección permanente 301, la dirección del navegador mostrará la dirección URL después de la redirección
Ejemplo de reescritura:
1. Cuando visite http://106.52.36.65/1024.html, redirija a http://106.52.36.65/index.php?id=1024
location / {
rewrite ^/(\d+)\.html$ /index.php?id=$1 redirect;
#rewrite ^/(\d+)\.html$ /index.php?id=$1 break;
}
curl http://106.52.36.65/1024.html -L
Devolver resultado:
C:\Users\v_lysvliu>curl http://106.52.36.65/1024.html -L
<pre>Array
(
[id] => 1024
)
C:\Users\v_lysvliu>
2. Cuando visite http://106.52.36.65/home/1024.html, redirija a http://106.52.36.65/index.php?id=1024
location / {
rewrite ^/home/(\d+)\.html$ /index.php?id=$1 redirect;
}
3. Cuando visite http://106.52.36.65/admin/1024.html, redirija a http://106.52.36.65/admin/index.php?id=1024
location / {
rewrite ^/(\w+)/(\d+)\.html$ /$1/index.php?id=$2 redirect;
}
4. Cuando visite http://106.52.36.65/home/12-31-2020.html, ¿redirigir a http://106.52.36.65/home/index.php?
id=2020-12-31
location / {
rewrite ^/(\w+)/(\d+)-(\d+)-(\d+)\.html$ /$1/index.php?id=$3-$1-$2 redirect;
}
- Cuando visite http://106.52.36.65, redirija a http://www.baidu.com
location / {
rewrite .* http://www.baidu.com permanent;
}
6. Cuando visite http://106.52.36.65:80, redirija a http://106.52.36.65:443
location / {
if ($server_port ~* 80) {
rewrite .* http://106.52.36.65:443 permanent;
#rewrite .* http://$host:443 permanent;
}
}