我正在尝试将所有网址https://www.example.com/page/
重定向到404。
我遇到的问题/page/
是重定向到首页后的每个数字都被索引了-导致重复的内容损失。
到目前为止,我大约有30页被索引,所有页面都重定向到主页。
我想拥有任何一个在/page/
404之后(带有404标头)的数字的URL ,因此我可以为所有这些页面取消索引。
到目前为止,我已经尝试过:
Redirect 404 ^page/(.*)$
要么 Redirect 404 /page/*
毫不奇怪,这些都没有用-我在哪里出错?
Redirect 404 ^page/(.*)$
要么Redirect 404 /page/*
您很亲近,除了Redirect
伪指令使用简单的前缀匹配,它不使用正则表达式(regex)或通配符匹配。
使所有网址
https://www.example.com/page/
重定向到404。
要/page/
在404中发出所有对result的请求,无论是否跟随数字,您都可以使用以下代码:
Redirect 404 /page/
如上所述,该Redirect
指令使用简单的前缀匹配,因此上述供应404任何网址开始用/page/
。
但是..
网址
/page/
后跟404的任何网址
要/page/<number>
仅为形式为URL的404服务而不是仅为404的URL服务,/page/
则需要使用RedirectMatch
伪指令来代替,该伪指令使用regex进行匹配而不是前缀匹配。
例如:
RedirectMatch 404 ^/page/\d+$
\d+$
匹配1个或多个数字到URL路径的末尾。因此以上内容将匹配/page/1
,/page/123456
但不匹配/page/
或/page/abc
或/page/123z
等。
相反,如果您想匹配/page/<something>
在哪里<something>
实际上是什么,而不仅仅是匹配/page/
。然后,您可以改为使用以下内容:
RedirectMatch 404 ^/page/.
上面/page/
的代码在URL路径的开头匹配,后跟至少一个其他字符。
请注意,尽管我们在此处使用Redirect
andRedirectMatch
指令,但没有外部重定向(3xx响应)。Apache将404用作内部子请求。Apache发送404 Not Found标头。
但是,如果您特别想更快地“索引”这些页面,则可以考虑发送“ 410 Gone”。对于搜索引擎来说,这是一个更强的信号,表明该页面不会返回。在这种情况下,您也可以使用gone
关键字代替410
状态码。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句