suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Nginx passende URL mit Fragezeichen

Ich muss jetzt eine SEO-Optimierung durchführen. Jetzt muss ich einige der ursprünglichen langen Links in kurze Links umwandeln. Eine davon ist, einen 301-Sprung in PHP zu machen. und das andere ist, dass beim Ausführen von 301 in der Nginx-Konfigurationsdatei das Problem auftritt: Ich kann es nicht im Speicherort der Nginx-Konfigurationsdatei finden? Der ursprüngliche Link lautet beispielsweise xxx.bbb.ccc/index.php?r=pc /index/index, verwenden Sie jetzt xxx .bbb.ccc/index, wie passt das zusammen?

为情所困为情所困2707 Tage vor1152

Antworte allen(1)Ich werde antworten

  • 黄舟

    黄舟2017-07-01 09:14:11

    按照你的意思,不应该是访问 xxx.bbb.ccc/index -> xxx.bbb.ccc/index.php?r=pc/index/index 的吗?

    这样的话,没必要匹配到?的呀。

    直接写 rewrite 规则就可以了

    rewrite ^/index$ /index.php?r=pc/index/index last;

    如果是反向的那就用 if 判断好了

    如:

    server {
        server_name test.dev;
        location / {
            if ($request_uri ~ '/index.php\?r=pc/index/index') {
                return 301 http://test.dev/index;
            }
        }
    }

    测试结果:

    > curl -I 'http://test.dev/index.php?r=pc/index/index'
    
    HTTP/1.1 301 Moved Permanently
    Server: nginx/1.10.3
    Date: Fri, 30 Jun 2017 09:04:12 GMT
    Content-Type: text/html
    Content-Length: 185
    Connection: keep-alive
    Location: http://test.dev/index

    Antwort
    0
  • StornierenAntwort