1

たとえば、の場合www.example.com/foo/dosomething/、次のようなhtaccessドキュメントがあります。

RewriteEngine On

RewriteRule ^dosomething/$ myfile.php [L]

このhtaccessファイルは、実際に存在するfooディレクトリ内にあります。しかし、URLを入力したユーザーは、末尾のスラッシュを忘れてしまう可能性があるため、次のように入力するwww.example.com/foo/dosomethingと、404が表示されることに気付きました。これは望ましくないので、代わりに次のように記述しました。

RewriteRule ^dosomething/$ myfile.php [L]

しかし、2つの「Webページ」のコンテンツがまったく同じであるため、これはSEOに対応していないことを思い出しました。だから私が今欲しいのは、URLの末尾にスラッシュがない場合、htaccessがリダイレクトするために、たとえば:www.example.com/foo/dosomethingからwww.example.com/foo/dosomething/

4

1 に答える 1

1

試す:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+[^/])$ /foo/$1/ [L,R=301]

あなたのmyfile.phpルールの前に。301リダイレクトにより、検索エンジンのインデックス作成が2つのURLと等しくなることが保証されます。

于 2012-10-03T05:22:59.467 に答える