Apacheと.htaccessファイルを使用してリダイレクトを設定しています。 301ドメインにあるすべてのドメインをサブドメインにリダイレクトする方法はありますかドメインインデックスの場合はを除いてですか?.htaccessリダイレクト
のでhttp://sub.domain.com/*
にhttp://domain.com/*
をリダイレクトしかし、それはあるhttp://domain.com/
を残しますか?
誰かが助けることができる場合は、事前におかげで!
Apacheと.htaccessファイルを使用してリダイレクトを設定しています。 301ドメインにあるすべてのドメインをサブドメインにリダイレクトする方法はありますかドメインインデックスの場合はを除いてですか?.htaccessリダイレクト
のでhttp://sub.domain.com/*
にhttp://domain.com/*
をリダイレクトしかし、それはあるhttp://domain.com/
を残しますか?
誰かが助けることができる場合は、事前におかげで!
シングル書き換えルール:
# Rewrite if on main domain AND NOT requesting index
RewriteCond %{HTTP_HOST} ^domain[.]com$ [NC]
RewriteCond %{REQUEST_URI} !^(/(index[.](html|php))?)?$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://sub.%1$1 [R=301,QSA,L]
# Check for non-empty request URI
RewriteCond %{REQUEST_URI} (.+)
RewriteRule .* http://sub.domain.com%1 [L,R=301]
メインドメインでデフォルトのhtmlまたはphpを許可したいと思うかもしれません。その場合、次のルールのペアが機能するはずです。テストして確認します。
# Skip the rewrite for the root of domain.com
RewriteCond %{HTTP_HOST} ^domain[.]com$ [NC]
RewriteCond %{REQUEST_URI} ^(/(index[.](html|php))?)?$
RewriteRule ^(.*)$ - [L]
# Rewrite everything else
RewriteCond %{HTTP_HOST} ^(domain[.]com)$ [NC]
RewriteRule ^(.*)$ http://sub.%1$1 [R=301,QSA,L]
それが最も簡潔な方法で仕事をする必要があるようにこれが見えます - 私は新しいdomain.comページが構築されれば、テスト、あなたが知っているだろう。ありがとう! – mrappleton
私は最終的にこれを必要とすることに慣れて、それをテストしました。それは私が必要なものに近いと思われるが、それはまた、メイン(リダイレクトされていない)ページのCSSとJavaScriptの要求を書き換えている。 * .cssと* .jsをリダイレクトから除外する方法はありますか? – mrappleton
@mrappleton - 上記の書き換えにいくつかの条件を追加しました。ファイルが存在する場合は書き換えません。 – HorusKol