簡體   English   中英

Magento + htaccess + mod_rewrite:強制尾隨斜杠和強制小寫URL

[英]Magento + htaccess + mod_rewrite: Forcing trailing slash & Force lower case URL

我正在嘗試對我的Magento商店的htaccess文件進行一些更改,以強制在所有不是文件且不是.html(產品頁面)的URL結尾處使用尾部斜杠。 與此同時,我也試圖強制URL中的所有小寫。 這兩個都是出於搜索引擎優化的原因,因為鏈接到/ 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]

但是,我不確切地知道如何或在何處將這些插入到現有的重寫中,以便一切按預期工作。

把它放在你的.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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM