状況
/A
に、ディレクトリ/B
に移動しますdomain.com
を使い、 "B"でsubdomain.domain.com
を使いたいのですが質問
.htaccess
設定を使用する必要がありますか、それとも各Wordpressディレクトリのサブドメインに特別な設定を使用する必要がありますか?ドメイン
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
サブドメイン
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
.httaccess
のサブディレクトリ版を使うべきでしょうか。SubFolder
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
私の提案は次のとおりです。各Wordpressディレクトリの単一ドメインでWordpressに同じ標準の.htaccess
設定を使用します。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
それと一緒に、ユーザーが別のドメインを使用してそのサブディレクトリにアクセスした場合にユーザーが正しいドメインにリダイレクトされるように、小さなコードを追加します。
RewriteCond %{HTTP_Host} !^domain\.com$
RewriteRule ^(.*)$ "https://domain.com/$1" [R=301,L]
その後、.htaccess
に対するdomain.com
は以下のようになります。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_Host} !^domain\.com$
RewriteRule ^(.*)$ "https://domain.com/$1" [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
subdomain.domain.com
の場合は、次のようになります。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_Host} !^subdomain\.domain\.com$
RewriteRule ^(.*)$ "https://subdomain.domain.com/$1" [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
標準のCODEを使用することは、どこでも同じであるため、保守とデバッグが簡単になるので推奨されます。
余分な2行は主にSEO
にお勧めです。それらがなければ、あなたのドメインの一つは他のドメインを使ってアクセス可能かもしれません。それはいくつかの重複した内容の質問を提起するかもしれません。