これを理解するのに助けが必要です。 Drupal 7.にメインサイトmysite.com
があります。7.ブログを作成し、blog.mysite.com
を使用してアクセスできるようにしたいので、基本的には同じです。サイト(同じ場所からコンテンツを管理できるため)、異なるURLのみ。
注*:個々の投稿ページには、次のようなURLが表示されます:blog.mysite.com/my-post
パス名mysite.com/blog
の下にView
を使用し、URLをマスクしてblog.mysite.com
を代わりに表示できるかどうか疑問に思いました。 Webサーバーとしてnginx
を使用しています。
これを正しく行うには Domain Access モジュールを使用する必要があるようです。このモジュールを使用すると、1つのDrupalインストールから、同じデータベースを共有して、必要な数のアフィリエイトサイトを実行できます。
現在、別のサイトで使用していますが、非常にうまく機能しています。
まず、両方のドメインがサイトを指すようにする必要がありますが、これはHTTPサーバーの構成の問題であり、すでに理解していると思います。
これには2つの部分があり、適切なコンテンツを提供し、適切なリンクを表示します。
Drupalだけではありません。サブドメインが呼び出されたときに「サブディレクトリ」のコンテンツを提供するには、htaccessの先頭に次のようなものを配置する必要があります。
_RewriteEngine on
RewriteCond %{HTTP_Host} ^blog.example.com [NC]
RewriteRule ^/(.*)$ /blog/$1 [L]
_
Nginxを使用すると、次のようになります(注:私の個人的な経験ではなく、 here から取得):
_server {
listen 80;
server_name blog.example.com;
location / {
proxy_pass http://127.0.0.1/blog$request_uri;
proxy_set_header Host example.com;
}
}
_
_hook_url_inbound_alter
_ を使用することもできますが、適切なWebサーバー構成よりも遅くなる可能性があります。 DrupalとにかくWebサーバーのURL書き換えを使用します。
一般的な方法は hook_url_outbound_alter()
を使用することです。フックのスローダウンを望まない場合は、次のことができます。