0

現在作業中のアプリでは、サブドメインを動的に作成する必要があります。リダイレクトする必要があるドメインが何であるかを知っていれば、それは非常に簡単です。ポイントは、同じサーバーを指す多くのドメインを持つことができ、それぞれが多くのサブドメインを持つことができ、それを処理できる htaccess が必要だということです。

例: domain1.com、domain1.com.br、domain2.com、domain2.co.uk はすべて私のサーバーを指している可能性があります。ユーザーが sub.domain1.com にアクセスしようとすると、透過的に (301 リダイレクトなしで) domain1.com にリダイレクトされるようにします。彼が sub.domain1.com.br にアクセスしようとすると、domain1.com.br などに透過的にリダイレクトされるようにします (両方のリダイレクトがまったく同じポイントを指すことに注意してください。唯一の違いはアドレスにあります)。バー)。

ここまでで、www からリダイレクトする行を変更しようとして失敗しました。www 以外のドメインに送信しましたが、期待どおりに機能しませんでした:

    //This works
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

    //This ends with a "too many redirections" error
#RewriteCond %{HTTP_HOST} ^(.*)$ [NC]
#RewriteRule ^(.*)$ http://%1/$1 [L,QSA]

誰か助けてくれませんか?

4

1 に答える 1

0

これを試して:

RewriteCond %{HTTP_HOST} ^(.+)\.([^.]{4,})\.([a-z]{3,4}|[a-z]{2,3}\.[a-z]{2}|[a-z]{2})$ [NC]
RewriteRule ^(.*)$ http://%2.%3/$1 [L,R=301]

これは、これらすべてをカバーする必要があります。

  • domain1.com
  • domain1.com.br
  • domain2.co.uk
  • domain3.es
  • domain4.info
于 2012-10-02T22:47:23.540 に答える