0

多くのコンテンツにハードコードされたリンクがある Drupal サイトに取り組んでいます (サイトを作成したわけではありません)。残念ながら、それはサイトが「www.example.com/drupal」などのサブディレクトリにある必要があることを意味します。そうしないと、リンクが壊れます。サイト ルートをサブディレクトリに正常にリダイレクトし、サイト ルート htaccess ファイルで次のコードを使用して非表示にしました。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule (.*) drupal/$1 [L]
RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

ただし、www.example.com/drupal にアクセスすると、サブディレクトリがまだ表示されます。これは、www.example.com と www.example.com/drupal に同じコンテンツが含まれていることを意味し、SEO に悪影響を及ぼします。ループを引き起こさずに /drupal をルートにリダイレクトする方法はありますか? 他のスレッドに投稿されたほぼすべての投稿を試しましたが、どれも機能しません。

4

1 に答える 1

0

URLを書き換える前にリダイレクトを行う必要があります。また、実際に正当なリソースに書き換えていることを確認する必要があります。

  1. ルールを入れ替えると、リダイレクトが最初に発生するはずです

  2. Drupalルールにチェックを追加します


<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteCond %{REQUEST_URI} !^/drupal
RewriteRule (.*) drupal/$1 [L]
</IfModule>
于 2012-10-24T23:17:32.273 に答える