大丈夫。運が悪い。ですから、皆さんがこの問題を理解するのに役立つかどうかを確認したいと思いました.
以前はさまざまなサブドメインが多数あったサイトを継承しましたが、これらはすべて .htaccess ファイルに書き込まれ、サブディレクトリとして書き直されました (つまり、blog.site.comはsite.com/blogになります)。
重複コンテンツの問題を回避するために、すべてのsite.com URL をwww .site.comに書き換える必要もあります。また、現在のルールは適切に見えますが、ドメインのすべてのサブディレクトリを書き換えているわけではないようです。(私は RegEx にそれほど慣れていないので、それが問題の一部である可能性があります。)
.htaccess の現在のルールは次のとおりです。
#---------------------------------
# Start rewrite engine
#---------------------------------
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
</IfModule>
<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} !=on
RewriteCond %{PATH_INFO} !^$
RewriteCond %{HTTP_HOST} !^localhost$ [NC]
RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
RewriteCond %{HTTP_HOST} !^blog\..+$ [NC]
RewriteCond %{HTTP_HOST} !^docs\..+$ [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
#---------------------------------
# Rewrite some of our subdomains
#---------------------------------
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^blog\.site\.com$ [NC]
RewriteRule (.*)$ "http://www.site.com/blog/$1" [R=301,QSA,L]
RewriteCond %{HTTP_HOST} ^docs\.site\.com$ [NC]
RewriteRule (.*)$ http://www.site.com/docs/$1 [R=301,QSA,L]
RewriteCond %{HTTP_HOST} ^wiki\.site\.com$ [NC]
RewriteRule (.*)$ http://www.site.com/wiki/$1 [R=301,L]
</IfModule>
#---------------------------------
# Wordpress specific - do not place anything below this line
#---------------------------------
# BEGIN 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>
# END WordPress
(明らかに、それらのいくつかは、ローカル開発環境などを可能にするために存在します)。
site.com/directoryがwww .site.com/directoryに書き換えられない理由について何か考えはありますか? ここで何が欠けていますか?