繁体   English   中英

使用正则表达式重定向.htaccess

[英]redirecting an .htaccess with regular expression

这里有太多的.htaccess重定向文章,但不幸的是,没有任何一篇与我能找到的情况相符的文章,并且我正努力理解正则表达式以使其正常工作。 我的情况:

在Wordpress上重建了一个房地产站点。 该网站已经建立了很多年,因此拥有大量Google搜寻的媒体资源网址。 新网站使用的是完全不一样的永久链接结构,带有全新的属性,而Google Search Console却提出了大量的404错误。

旧结构:domain.com/2008/10/10/post-title/新结构:domain.com/properties/post-title/

我希望能够编写一个.htaccess重定向,以将所有以/ 0000/00/00 /开头的URL指向首页。 我已经对正则表达式进行了一些研究,发现了类似的情况,但是没有一个可以为我工作。 他们似乎只是被忽略。

我使用的指南网站: https : //24ways.org/2013/url-rewriting-for-the-fearful/

我相关的.htaccess代码:

# BEGIN custom rewrite rules
RewriteEngine On
RewriteRule ^[0-9]{4}/[0-9]{2}/[0-9]{2}/.*/$ http://hardestyrealestate.com/ [R=301]
# END custom rewrite rules

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

基本上,我的自定义重定向是将多个正则表达式教程合在一起以尝试匹配相关的“旧” URL的结果。 有人可以帮我解决这个问题吗? 我的自定义重定向是否在错误的位置? (是否需要在wordpress重定向代码之后)? 帮助将不胜感激!

我不确定您系统的所有上下文,但是我想知道自从您将^放在比赛开始时是否在开头添加了http://或https://从而不匹配? 这是一种猜测。

想到的另一种可能性是/对正则表达式处理器具有特殊含义,而您需要使用/代替。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM