0

次の問題があります: nginx で Django を使用しています。ある時からSEOの仕事を始めました。だから今、私は次のようなURLをリダイレクトする必要があります

site.com/? site.com/へ

また

site.com/some_page/? site.com/some_page/へ

問題は「?」です。「?」の後に何かあればリダイレクトできます。しかし、それが「?」だけの場合 - どうすればいいのかわからない..

メタ 'REQUEST_URI' を読み込もうとしましたが空で、GET も空ですが、それは正常です。nginxでハックできるかもしれませんが、それが正しいことかどうかはわかりません..

役立つヒントはありますか?前もって感謝します..そして私の英語でごめんなさい)

更新:

nginxで次のことを試しました:

    if ($request_uri ~ "[?]$") {
        rewrite ^/(.*)$ http://$host/$1? permanent;
    }

URLが次のような場合にうまく機能します

「site.com/何か?」

「site.com/something?city=4&myid=10?」の場合 「site.com/something」にリダイレクトします

そのため、すべての通常のパラメーター ("city, myid") が失われます。そして、それは私にとって良くありません。なぜなら、彼らを救う必要があるからです。まだ助けが必要..nginxでそれを行うのも簡単ではないようです。

4

2 に答える 2

0

私はnginxを使用します。リダイレクトを行うためにpythonプロセスを起動する必要はありません.nginxではリダイレクトは非常に簡単です.関連する質問を見てください.

于 2012-05-22T11:01:14.470 に答える
0

私はあなたの質問をよく理解していませんでした。「?」を含む、または末尾に「?」を含む URL のみをリダイレクトしますか。すべての URL をリダイレクトする場合は、次を使用します。

rewrite ^/(.*)$ http://$host/$1 permanent;

「?」に注意してください。書き換えターゲットの最後で、リダイレクト要求に追加される GET パラメータを停止します。http://wiki.nginx.org/HttpRewriteModule#rewriteを参照してください

于 2012-05-22T14:02:52.337 に答える