Nginx重写基本URL的路径

时间:2016-12-21 16:18:38

标签: php redirect nginx

我正在尝试配置Nginx,以便将http://domain.com/path的所有请求重写为http://domain.com/

我不想要重定向,因为我希望URL仍然显示原始路径。

示例重写:

http://domain.com/path/index.php         -> http://domain.com/index.php
http://domain.com/path/category/books    -> http://domain.com/category/books
http://domain.com/path/books.php?q=harry -> http://domain.com/books.php?q=harry

我尝试了aliasroot,但我无法让它们发挥作用。

location /path
{
    root /var/www/html/;
}

location /path
{
    alias /var/www/html/;
}

1 个答案:

答案 0 :(得分:1)

rootalias用于提供来自特定目录的文件,而不是重写URL。您应该使用rewrite

server {
    rewrite ^/path(/.*)$ $1 last;

    # Your location blocks go here.
}

阅读official docs了解详情。