我有以下问题:我们有一个内部文档系统,可以生成HTML格式的帮助文件。最近升级了生成它们的软件,现在大写和非大写文件夹之间存在命名问题。
旧网址:
https://documentation.example.com/de/101/Skins/Default/Stylesheets/Components/Tablet.css
新网址:
https://documentation.example.com/de/101/skins/default/stylesheets/components/tablet.css
我们有不同的受影响的文件夹,因此网址可能如下所示(有很多变体):
https://documentation.example.com/en/103/Skins/Default/Stylesheets/Components/Tablet.css
https://documentation.example.com/de/456/Skins/Default/Stylesheets/Components/Tablet.css
https://documentation.example.com/en/324/Skins/Default/Stylesheets/Components/Tablet.css
我希望能够获取请求的网址,查找此字符串:“/Skins/Default/Stylesheets/Components/Tablet.css
”将其更改为小写,然后将用户发送到新更改的网址。
我发现的一些解决方案需要访问我不能访问的vhosts文件。我也无法上传PHP文件或类似内容。
我的问题是否可以单独使用htaccess文件解决?如果是的话怎么样?
答案 0 :(得分:0)
您需要在托管css的server / vhost配置文件中定义rewrite map。
RewriteMap lc int:tolower
然后在您的htaccess文件中,您可以创建如下规则:
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule ^(.*)$ ${lc:$1} [L,NC]
如果您需要帮助,请告诉我。此htaccess规则将导致每个URL都转换为小写。这是一个通用的htaccess,你可以使它更精确,专门搜索你需要的URL。