3

ユーザーにクリーンな URL を提供するために、リダイレクトを実行したいと考えています。

変わりたい:

http://mydomain.com/main/username/profile

に:

http://mydomain.com/username/profile

書き直しまたはエイリアンでこれを行いますか?どのようにしますか?

4

1 に答える 1

8

まず、リダイレクトとエイリアスの違いを理解する必要があります。

リダイレクト

リダイレクト/main/username/profileは、リクエストしたユーザーを に送信します/username/profile。ブラウザの URL が変わります。これは、検索エンジンが URL にアクセスできる場合に特に重要です。そうしないと、同じページが 2 回インデックスに登録されてしまう (コンテンツの重複) ためです。

リダイレクトを使用する場合は、URL がそのままであることを確認してください。その理由はCool URIs don't changeです。

リダイレクトの例:

server {
    # ...
    location / {
        # ...
        location ~ /main/([a-zA-Z0-9]+)/profile$ {
            # SEO effective redirect
            return 301 /$1/profile;
        }
        # ...
    }
}

エイリアス

エイリアスは、要求されたファイルがファイルシステムの URL によってマップされておらず、別の場所を参照する必要があることを nginx に伝えるために使用されます。次の例は、nginx wiki からのものです。

root /var/www;
location  /i/ {
    alias  /spool/w3/images/;
}

のリクエストは/i/empty.gifにマップされません/var/www/i/empty.gif。代わりに、 に一致し/spool/w3/images/empty.gifます。

于 2013-04-29T09:54:32.450 に答える