0

さて、私はクライアントサイトでいくつかの作業をしなければなりません-そして何らかの理由で、彼らは両方のwwwを持っています。異なるWebサイトで使用されているサブドメインと空のサブドメイン。彼らはこれを望んでいません。

彼らはwwwを望んでいます。サブドメインのみ(つまり、空のサブドメインをwwwにリダイレクトする必要があります)。

おそらく、それがWordpressで設定されている方法です。

これが私の.htaccessファイルです:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^(.*)(\.htm|\.html)$ /contact [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

#php_flag display_errors on
#php_value error_reporting 8191

誰かがこれを解釈できますか?(私は.htaccessファイルにあまり精通していません-それらにリソースを持っている人は誰でも役に立ちます)。たとえば、http://examplesite.comにアクセスするすべての人がhttp://www.examplesite.comにアクセスするようにするにはどうすればよいですか。

同じドメインに2つの異なるWebサイトはどのようにありますか?public_htmlフォルダーを探していますが、他のサイトへの参照はまったくないようです。何も、ファイルも、灘もありません。

4

1 に答える 1

1

サブドメインを強制的に使用wwwするには、次のコードを追加できます。

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

これらの行の機能は次のとおりです。

  1. HTTP_HOSTを確認してください。domain.com
  2. 現在のリクエストを取得し、後に追加しますwww.domain.com/$1キャッチされたリクエストを表します)
  3. [R=301]生成されたURLをタグ付きの301リダイレクト(永続的なリダイレクト)として使用します
  4. [L]これがキャッチされた場合、タグ付きで次のルールを読みません
  5. [QSA]タグ付きでGETデータを転送します。

このコードは、次の2行の後に配置する必要があります。

RewriteEngine On
RewriteBase /

書き換えエンジンをオンに設定し、ベースURLを定義します。

注意:リダイレクトはPOSTデータを転送しません。コードでは常にwwwサブドメインを使用してください(これは一元化されたものを使用して簡単に実行できますbase_url)。

より良いhtaccessファイルを理解するためにここを見てください。

于 2012-06-27T21:44:06.783 に答える