1

Magentoストアのhtaccessファイルにいくつかの変更を加えて、ファイルでも.html(製品ページ)でもないすべてのURLの末尾にスラッシュを強制しようとしています。同時に、URLにもすべて小文字を強制しようとしています。/ category、/ Category、および/ category /へのリンクはすべてGoogleによって異なるページとして表示されるため、これらは両方ともSEOの理由によるものです。

現状の.htaccessの書き換えセクションは次のとおりです。

<IfModule mod_rewrite.c>

Options +FollowSymLinks
RewriteEngine on

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_URI} !^/(media|skin|js)/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule .* index.php [L]

</IfModule>

これらの2つのスニペットが表示されました。最初のスニペットは小文字を強制するためのもので、2番目は末尾のスラッシュ用です。

RewriteMap  lc int:tolower
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule (.*) ${lc:$1} [R=301,L]

と...

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

ただし、これらを既存の書き換えに挿入する方法や場所が正確にわからないため、すべてが希望どおりに機能します。

4

1 に答える 1

4

これを.htaccessに入れてください:

Options +FollowSymLinks
RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule (.*) ${lc:$1} [L,R=301]

RewriteCond %{REQUEST_URI} !(.*)/$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^index.php
RewriteCond %{REQUEST_URI} !\.(html|jpg|png|gif)$
RewriteRule ^(.*)$ $1/ [L,R=301]

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_URI} !^/(media|skin|js)/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule .* index.php [L]

</IfModule>

これをvhostconfigまたはhttpd.confに入れます。

RewriteMap  lc int:tolower
于 2012-07-17T01:12:29.470 に答える