You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现URL强制显示指定大小写(如myWebsite.com)?

实现指定域名的大小写强制跳转方案

我明白你的痛点——网上大部分.htaccess规则都是批量转大写/小写,但你需要的是精准修正域名特定位置的大小写(比如把全小写的mywebsite.com跳转到myWebsite.com),而不是统一转换所有字符。下面给你两种环境下的可行方案:

Apache环境(.htaccess配置)

首先确保你的服务器开启了mod_rewrite模块(Apache默认是开启的),然后在网站根目录的.htaccess里添加以下规则:

RewriteEngine On

# 处理裸域:匹配所有大小写变体的mywebsite.com,重定向到正确的myWebsite.com
RewriteCond %{HTTP_HOST} ^mywebsite\.com$ [NC]
RewriteRule ^(.*)$ https://myWebsite.com/$1 [R=301,L]

# 可选:如果需要处理带www的域名,添加以下规则
RewriteCond %{HTTP_HOST} ^www\.mywebsite\.com$ [NC]
RewriteRule ^(.*)$ https://www.myWebsite.com/$1 [R=301,L]

规则解释:

  • [NC]:表示匹配时忽略大小写,所以不管用户输入MYWEBSITE.COM、MyWebsite.com还是全小写的版本,都会触发重定向。
  • R=301:永久重定向,对SEO友好;测试阶段可以改成R=302临时重定向,确认没问题后再换回301。
  • L:标记这是最后一条规则,避免后续规则干扰。
  • $1:保留原URL的路径和查询参数,比如用户输入mywebsite.com/blog?tag=tech,会自动跳转到myWebsite.com/blog?tag=tech。

Nginx环境配置

如果你的服务器用的是Nginx,需要在站点配置文件里添加以下内容:

# 匹配所有大小写变体的裸域,重定向到正确版本
server {
    listen 80;
    listen [::]:80;
    server_name mywebsite.com MYWEBSITE.COM MyWebsite.com;
    return 301 https://myWebsite.com$request_uri;
}

# 可选:处理带www的域名
server {
    listen 80;
    listen [::]:80;
    server_name www.mywebsite.com www.MYWEBSITE.COM www.MyWebsite.com;
    return 301 https://www.myWebsite.com$request_uri;
}

# 配置正确大小写域名的主站点(SSL部分根据你的证书调整)
server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name myWebsite.com;
    
    ssl_certificate /path/to/your/cert.pem;
    ssl_certificate_key /path/to/your/key.pem;
    
    # 其他站点配置(根目录、反向代理等)...
}

为什么之前的通用规则不行?

网上的批量转小写规则(比如RewriteMap或者全局转换正则)会把整个URL包括域名、路径、参数都转成小写,而我们需要的是仅修正域名的特定大小写,所以必须针对目标域名的所有大小写变体做精确匹配,再定向到指定的正确版本,这样就不会影响URL其他部分的大小写了。

内容的提问来源于stack exchange,提问作者VorganHaze

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:55:51