18910140161

HTML-我可以对同一个URL使用多个重写规则吗.htaccess-堆栈溢出

顺晟科技

2022-10-18 14:05:06

173

我的.htaccess

Options -Indexes
DirectorySlash Off
RewriteEngine On
RewriteRule ^about$ about/about_me.html [L]

有可能这样

做吗?
Options -Indexes
DirectorySlash Off
RewriteEngine On
RewriteRule ^about$ about/about_me.html [L]

#Using multiple RewriteRules with diffrent names for same url
RewriteRule ^About$ about/about_me.html [L]
RewriteRule ^ABOUT$ about/about_me.html [L]

顺晟科技:

<块引用>
RewriteRule ^about$ about/about_me.html [L]

#Using multiple RewriteRules with diffrent names for same url
RewriteRule ^About$ about/about_me.html [L]
RewriteRule ^ABOUT$ about/about_me.html [L]

是的,你可以这样做,但是..你不应该.

严格来说,

/ABOUT/ABOUT是不同的URL.(URL区分大小写。)Google将这些URL视为不同的URL,因此如果/ABOUT/ABOUT都提供相同的内容,那么您可能会产生重复内容问题(这实际上是否会成为问题则是另一回事)。

旁白:您不需要多个指令来执行此操作,而是为每个变体创建另一个指令。您可以使用nocase指令上的nocaseRewriteRule)标志使其成为不区分大小写的匹配。例如:

RewriteRule ^about$ about/about_me.html [NC,L]

这将匹配ABOUTABOUTAbOuT

不区分大小写并避免重复内容-改为

重定向

要允许访问ABOUT的所有大小写变体并避免重复内容问题,您应该在外部重定向(而不是“重写”)非规范变体(例如AbOuTAbOuT等)转换为规范的A左右。并仅将ABOUT重写为about/about_me.html

例如,上述";重写";之前您可以实现以下“重定向”将ABOUT规范化,并将ABOUT规范化为ABOUT

但是,这个规则是特定于一个URL的-如果您有多个URL,这是不太实际的。相反,您可以选择将所有请求的URL全部小写。例如:

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航