【发布时间】:2012-07-15 19:53:59
【问题描述】:
我正在尝试对我的 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>
我看到了这两个 sn-ps,第一个用于强制小写,第二个用于斜杠:
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]
但是我不知道如何或在哪里将这些插入到现有的重写中,所以一切都按预期工作。
【问题讨论】:
-
${lc:}重写映射要求您在服务器配置或虚拟主机配置中进行设置。
标签: apache .htaccess magento mod-rewrite