我們有一個網站,不幸的是所有的網址都有.html
後綴,它是一個Magento安裝,Magento允許你在CMS上改變它,但不幸的是,所有這些網址後綴爲.html
在Google中排名很好。我們需要重定向到非.html
。從重定向的URL中刪除.html
因此,請考慮以下情況,我們從頭開始重建此網站,因此我們在新網站上使用相同的網址,但沒有.html後綴。
- 現在是:
www.example.de/cool-shoes.html
- 將是:
www.example.de/cool-shoes
所以www.example.de/cool-shoes.html
將不再存在,我一直在試圖與的.htaccess沒有運氣重定向。
我試過到目前爲止:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*\.html\ HTTP/
RewriteRule (.*)index\.html$ /$1 [R=301,L]
和:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
,但它似乎沒有工作...任何想法?
你好,只是爲了澄清我的疑問,這條規則在做什麼?它不是說第一個參數是你從請求中接收到的表達式,第二個參數是你將發送給apache的那個表達式?他們應該被切換 - > ^(。*)$ 1.html – alexserver 2013-09-26 05:07:35
該規則是刪除'.html'。第一部分是它匹配的內容:任何具有'.html'的url。 '$ 1'是匹配的括號中的內容:除'.html'之外的所有內容。 – 2016-08-18 09:34:55
我會添加'$'來確保'.html'出現在URL的末尾:'redirectMatch 301 ^(。*)\。html $ $ 1' – 2016-08-18 09:49:29