在一个网站上有文件夹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