在一個網站上有文件夾products/,裏面有一些大寫字母的php文件。htaccess大寫的URL爲小寫
例子:www.example.com/products/BIT-Defendar.php
現在多年,各地的搜索引擎存在這個網址。這是產品經理的錯誤。
但我想解決這個問題,我只想要小寫的URL。
這會解決我的問題嗎? CheckSpelling On
CheckCaseOnly On
(1)
而且什麼不同與上述和:(2)
RewriteMap tolowercase int:tolower
RewriteRule ^(.*)$ ${tolowercase:$1}
如果使用(1)然後所有作品枯萎我請求URL下套管或大寫的(但我有搜索引擎的問題?)
如果我使用(2)我必須將產品/文件夾內的所有文件重命名爲小寫。
---- ----編輯
當我使用RewriteRule
我得到轉移到域根URL是否是大寫的,如果我使用CheckSpelling
和CheckCaseOnly
然後所有罰款。
我已經測試與this和我得到:
RewriteCond %{REQUEST_URI} [A-Z]
- 這個條件滿足
RewriteRule (.*) ${tolowercase:$1} [R=301,L]
- 這條規則被滿足,則新URL http://www.example.com/ $ { tolowercase:products/BIT-Defendar.php}
- 由於RewriteRule選項中的R,測試已停止。一個重定向將與狀態代碼進行301
我的設置在httpd.conf
:
<VirtualHost *:80>
RewriteMap tolowercase int:tolower
</VirtualHost>
您可能需要將用戶重定向到小寫URL而不是重寫。搜索引擎可以看到重定向,而不是重寫。 –
當我使用* RewriteRule *我得到轉移到域根目錄如果url被超載,如果我使用* CheckSpelling *和* CheckCaseOnly *然後一切正常。 – FeRtoll