5

私は .htaccess の使用に比較的慣れておらず、オンラインで読んだこと以外にコーディングを行ったことはありません。Bluehost を使用しており、ブログのサブディレクトリをサブドメインにリダイレクトしたいと考えています。例: www.example.com/blog を blog.example.com にリダイレクトしたいと思います。

常に www を追加するコードが既に用意されています。をルート フォルダのブログ アドレスの先頭に追加しましたが、.htaccess のコードを使用して上記のリダイレクトを実現する方法がわかりません。どんな助けでも大歓迎です!

4

5 に答える 5

7

現在、多くの Web ホストは、管理パネルでサブドメインを作成するための簡単な実装を提供しています。そこに行き、サブドメイン名を選択し、それをツリー内のディレクトリにポイントするだけです。

それができない場合は、もう少し複雑になり (そのサブドメインをサーバー IP に解決し、いくつかの仮想ホストを構成する必要があります ... など)、それを行うのに十分な権限がない可能性があります (専用サーバー上)。

編集 2

www.example.com/blog へのリクエストを blog.example.com にリダイレクトするには、これを試してください:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$
RewriteRule ^blog/(.*)$ http://blog.example.com/$1 [L,QSA,R=301]

RewriteCond %{HTTP_HOST} ^blog\.example\.com$
RewriteCond %{REQUEST_URI} !^blog/
RewriteRule ^(.*)$ /blog/$1 [L,QSA]
于 2012-09-14T09:14:29.840 に答える
2

2セントを追加したかったのですが、

1)上記の質問に答えるには、この書き直しで修正する必要があります。

RewriteEngine on
RewriteCond %{REQUEST_URI} !\.
RewriteRule ^/blog$ http://blog.example.com [R=302,L]

2) しかし、これだけでは不十分だと思います。DNS を変更して、blog.example.com が適切なサーバーを指すようにする必要があります。これは、次のような cname で実行できます。

blog.example.com  CNAME example.com TTL 1080

(見た目は正確ではありませんが、DNS Web インターフェイスを使用して設定してください)。

于 2014-08-19T09:18:24.883 に答える