1

我正在尝试对我的 Magento 商店的 htaccess 文件进行一些更改,以在所有不是文件且不是 .html(产品页面)的 URL 的末尾强制使用斜杠。同时,我也试图在 URL 中强制使用小写字母。这两个都是出于 SEO 原因,因为指向 /category、/Category 和 /category/ 的链接都被 Google 视为不同的页面。

这是 .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>

我看到了这两个片段,第一个用于强制小写,第二个用于斜杠:

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>

并将其放入您的 vhost 配置或 httpd.conf 中:

RewriteMap  lc int:tolower
于 2012-07-17T01:12:29.470 回答