0

私は一日中ここを見回しており、同様の質問を見て、質問に対する部分的な回答を得ることができましたが、まだ主要な部分が1つ欠けています.

私がやろうとしているのは、動的サブドメイン (たとえば、username.mydomain.dk) をシステム内で使用することです。

私がこれまでに管理したこと:

  1. ワイルドカード *.mydomain.dk をサポートするように DNS を変更します
  2. メイン ドメイン (www.simon-smith.dk) から .htaccess リダイレクトを作成する
  3. mydomain.dk ページを正常に表示する

ここでの問題は、同じ IP アドレスを共有するいくつかの Web サイトがあることです。www.simon-smith.dk がメイン ドメインで、mydomain.dk もこの IP にあります。したがって、*.mydomain.dk をリクエストすると、最初に www.simon-smith.dk にアクセスします。ここから、.htaccess に以下を追加しました。

# *.mydomain.dk redirectd
RewriteCond %{HTTP_HOST} !^www\.mydomain\.dk$ [NC]
RewriteCond %{HTTP_HOST} ^(.*)\.mydomain.dk$ [NC]
RewriteRule ^(.*)$ http://mydomain.dk/?subrequest=%1 [P,L,QSA]

ここでは、P フラグを使用して別のドメインにアクセスしていますが、明らかにこれにより、次のような mydomain.dk の書き換えルールがブロックされます。

# match those that do not have language code
RewriteCond %{REQUEST_URI} !^/public/[a-z]{2}/ [NC]
RewriteRule ^(.*)$ index.php?url=$1 [PT,L,QSA]

# match those that DO have a language code
RewriteCond %{REQUEST_URI} !^/public/js/
RewriteRule ^([a-z]{2})/(.*)$ index.php?lang=$1&url=$2 [PT,L,QSA]

url からサブリクエストのパラメーターに問題なくアクセスできるのですが、url パラメーターが登録されていません。

このリダイレクトを行うために .htaccess を使用する方法はありますか? または、リダイレクトを適切に行うには、メイン ドメインとして mydomain.dk を使用する Web サーバーを取得する必要がありますか?

4

1 に答える 1

0

もう少し掘り下げて、古き良き試行錯誤を行った後、間違いを見つけました。

私のメイン ドメインである www.simon-smith.dk では、正しいリクエスト URI を追加するだけで機能します。次のようにします。

# *.mydomain.dk redirectd
RewriteCond %{HTTP_HOST} !^www\.mydomain\.dk$ [NC]
RewriteCond %{HTTP_HOST} ^(.*)\.mydomain.dk$ [NC]
RewriteRule ^(.*)$ http://mydomain.dk/$1?subrequest=%1 [P,L,QSA]
于 2013-07-11T17:57:44.660 に答える