web-dev-qa-db-ja.com

Namecheapでリダイレクトすると、パスが削除され、すべてのURLがホームページに送信されます

Namecheapを使用してwwwをwww以外のリンクにリダイレクトするのに問題があります。 wwwのホストとhttp://example.comの値を持つURLリダイレクトレコードを追加しました。これは、メイン(およびほとんどのページのみ)で正常に機能します。

問題は、Let's Encryptを使用してSSLを設定しているため、www.example.com/.well-known/acme-challenge/whateverで提供されるファイルを使用して検証する必要があることです。しかし、現在のリダイレクトルールの仕組みは、現在のURLからwwwを削除するのではなく、すべてのURLをhttp://example.com(ホームページ)にリダイレクトすることです。代わりにホームページにリダイレクトするため、wwwを使用してそのページを検証できないため、これは明らかにLet's Encryptの設定を壊します。

問題があれば、このサイトをGitLab Pagesでホストしているので、他のルールはAホストを持つレコード@と値52.167.214.135です。しかし、私のwww以外のURLが正常に機能することを見て、このルールが問題を引き起こしているとは思わない。何か案は?

2
SilverSerpent

https://www.namecheap.com/support/knowledgebase/article.aspx/385/2237/how-do-i-set-up-a-url-redirect-for-a-domain NameCheapsリダイレクトルールのドキュメント:

リンク先URLの値は、URLがリダイレクトされる場所と方法に影響することに注意することが重要です。

ホスト:www1.example.net
宛先:http://example.com

ホスト:www2.example.net
宛先:http://example.com/

最初のケースでは、www1.example.netは値を宛先URLに渡しません。したがって、www1.example.com/xyz.htmlはユーザーをhttp://example.comのみにリダイレクトします。したがって、ドメイン名の下の元のURLに入力したすべての値は除外されます。

2番目の場合、www2.example.net/xyz.htmlはユーザーをhttp://example.com/xyz.htmlにリダイレクトします(構成内の記号「/」に注意してください)。ドメイン名の下で元のURLに入力されるすべての値は、宛先アドレスに含まれ、結果に適用されます。

NameCheapを取得してURLパスを保持するには、リンク先URLに末尾のスラッシュを追加する必要があります。

5