如何在使用查询字符串提供页面时将 URL 转换为小写?

How to convert a URL to lowercase while serving a page with a query string?

提问人:user3397513 提问时间:7/5/2023 最后编辑:MrWhiteuser3397513 更新时间:7/5/2023 访问量:74

问:

我正在尝试将 URL 从 转发到 ,同时提供页面。example.com/dir/textstring-VARIABLE.htmlexample.com/dir/textstring-variable.htmlexample.com/dir/textstring.html?var=variable

我用于为带有查询字符串的页面提供服务的代码是:

#RewriteRule ^textstring-([a-zA-Z]+)-?([a-zA-Z]*)-?([a-zA-Z]*)-?\(*([a-zA-Z]*)\)*.html?$ /dir/textstring.html?var=$1\%20$2\%20$3\%20$4

我也知道有一些方法可以转换为小写字母,但是,我似乎无法弄清楚如何同时进行这两者。

正则表达式 Linux Apache .htaccess mod-rewrite

评论

0赞 bk2204 7/5/2023
你控制这两个页面吗?通常,URL 区分大小写,您无法在不破坏任意 URL 的情况下更改它的大小写。
0赞 MrWhite 7/5/2023
(该规则的作用比您在示例中所述的要多得多?这是完整的“工作”规则吗?您如何读取 URL 参数?“我似乎无法弄清楚如何同时做这两件事” - 从SEO的角度来看,你可能不应该这样做,因为它可能会导致重复的内容问题。
0赞 CBroe 7/5/2023
如果您希望客户端上显示的 URL 实际更改,则不能在一个操作中同时执行这两件事 - 这需要首先重定向,然后您可以重写为小写 URL 发出的新请求。
0赞 user3397513 7/5/2023
我确实控制了这两个页面。我不是想以 2 个 URL 结束,我只想要小写的 URL,但大写的 URL 进入了 Google 索引,我想将其转发到小写的 URL。我不需要在单个语句中执行它们,只需在一个 .htaccess 文件中执行即可
0赞 MrWhite 7/5/2023
然后完全按照我在网站上已经链接到的 Webmasters SE 问题的答案中所述进行操作(该问题的其他答案已过时)。这个重定向规则显然应该在你上面的重写之前。(并加入 Webmasters SE 社区 - 无论如何,这可以说是提出此类问题的更好地方。

答: 暂无答案