1

.dev でテストするためにローカルでワイルドカード ドメインを設定しました

次の URL を書き換えようとしています。

http://location.domain.dev/

http://www.domain.dev/site/location

サブドメイン内のリクエストはwww常に www.domain.dev に送信されるようにしたいのですが、location.domain.dev に対してリクエストが行われた場合は、そのリクエストをアドレスバーに保持したいと思います (つまり、他の人に見られたくない)根本的な変化)

現在、.htaccessに次のものがあります

<IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine On

  RewriteBase /

  RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.dev
  RewriteRule ^(.*)$ http://domain.dev/site/%1 [QSA,NC]

  # Removes index.php
  RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ /index.php?/$1 [L]
</IfModule>

これは可能ですか?

4

1 に答える 1

0

あなたはかなり近いです。ブラウザーをリダイレクトしない (アドレス バーが変更される) ようにするにhttp://domain.devは、書き換えルールのターゲットの一部を削除する必要があります。

RewriteRule ^(.*)$ /site/%1/$1 [QSA,NC]

*.domain.devwww.domain.devの両方が同じドキュメント ルートを持っていると仮定します。Pそれらが異なる場合は、ブラウザをリダイレクトする代わりにリクエストがプロキシされるように、mod_proxy を有効にしてフラグを追加する必要がある場合があります。

RewriteRule ^(.*)$ http://domain.dev/site/%1/$1 [QSA,NC,P]
于 2012-08-10T11:43:25.093 に答える