wordpress固定链接更改后,已经收录的文章怎么处理那?
warning:
这篇文章距离上次修改已过303天,其中的内容可能已经有所变动。
我用的apache代理服务器
可以使用正则在
如果你想设置Apache重写规则,使得只有当URL中存在多于一个破折号(-)时才进行重定向,你可以通过调整正则表达式来实现。在这种情况下,你需要一个正则表达式,它匹配包含至少两个破折号的URL。
以下是相应的.htaccess配置:
apache
RewriteEngine On
# 如果请求的文件或目录不存在,并且URL包含至少两个破折号,则进行重定向
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?([a-zA-Z0-9-]+-[a-zA-Z0-9-]+-[a-zA-Z0-9-]+)(/?)$ /blog/$1 [R=301,L]
这个配置的工作方式如下:
RewriteEngine On 启用Apache重写引擎。
RewriteCond %{REQUEST_FILENAME} !-f 和 RewriteCond %{REQUEST_FILENAME} !-d 这两个条件确保只有当请求的文件或目录实际不存在时,规则才会生效。
RewriteRule 匹配包含至少两个破折号的URL。正则表达式 ([a-zA-Z0-9-]+-[a-zA-Z0-9-]+-[a-zA-Z0-9-]+) 确保URL中至少有两个破折号。
这意味着,只有当URL中至少包含两个破折号且对应的资源不存在(通常会返回404错误)时,重定向才会发生。
请确保在实施这些更改之前备份你的.htaccess文件,并在更改后测试网站以确保一切按预期工作。调整这类规则可能会对你的网站访问和SEO产生影响,因此请仔细测试以确保没有意外的副作用。