【问题标题】:Nginx rewrite .aspx url to new Laravel routeNginx 将 .aspx url 重写为新的 Laravel 路由
【发布时间】:2018-09-09 07:28:14
【问题描述】:

我正在尝试将一个 aspx 项目迁移到新的 Laravel 项目。

我想将旧站点链接转换并重定向到新站点链接。 如果用户来自 Google 或旧链接。

旧网址:/tr/detail.aspx=pageId=596 新网址:/old-url/detail/596

我尝试了下面的代码,但没有任何帮助。

    location / {
    rewrite http://cu.test/tr/detail.aspx?pageId=(.*) http://cu.test/index.php?$query_string permanent;
    try_files $uri $uri/ /index.php?$query_string;
}

【问题讨论】:

    标签: laravel nginx url-rewriting nginx-location


    【解决方案1】:
    server {
        server_name  cu.test;
        listen       80;
    
        location /tr/detail.aspx {
            rewrite ^/tr/detail.aspx /old-url/detail/$arg_pageId last;
            set $args "";
        }
        location ~* /old-url/detail/(\d+)$ {
             return 200;
        }
    }
    

    【讨论】:

    • 谢谢,但是当我尝试下载“详细”页面时它没有工作code server { listen 80; listen 443 ssl http2; server_name cu.test; root "/home/vagrant/cu/public"; index index.html index.htm index.php; location /tr/detail.aspx { rewrite ^/tr/detail.aspx /old-url/detail/$arg_pageId last; set $args ""; } location /old-url/detail { return 200; } location / { try_files $uri $uri/ /index.php?$query_string; }
    • 我忘记了斜线,再试一次
    • 谢谢,它工作但重定向到/old-url/detail?pageId=19 它必须是/old-url/detail/19 我认为与try_files 添加query_string 的起始位置一致,但我需要它在laravel 项目中用于其他路线。
    • @Yilmazerhakan 重试
    • 对不起,我无法重试,因为我的 nginx 没有反映新的更改,它现在显示的是旧设置。我改变了一个错误,必须给出错误,但没有反映和工作!!!如果我修复此错误,将尝试您的最后一个解决方案。谢谢。
    猜你喜欢
    • 2012-12-08
    • 1970-01-01
    • 1970-01-01
    • 2017-02-21
    • 2018-09-12
    • 2012-04-05
    • 2019-04-26
    • 2015-02-09
    • 1970-01-01
    相关资源
    最近更新 更多