Regex 正则表达式:/(\d*)/(\d*)/(.[0-9a-zA-Z]),除了;第页“;
我想重定向如下所示的所有URL:Regex 正则表达式:/(\d*)/(\d*)/(.[0-9a-zA-Z]),除了;第页“;,regex,wordpress,Regex,Wordpress,我想重定向如下所示的所有URL: olivian.ro/[year between 1997 & 2050]/[month between 01 & 12]/anything-starting-with-an-alphanumeric 除了 olivian.ro/[year between 1997 & 2050]/page/whatever. 这种情况目前在重定向方面做得很好 /(\d*)/(\d*)/(.*[0-9a-zA-Z]) 问题在于向第三卷添加异常 那
olivian.ro/[year between 1997 & 2050]/[month between 01 & 12]/anything-starting-with-an-alphanumeric
除了
olivian.ro/[year between 1997 & 2050]/page/whatever.
这种情况目前在重定向方面做得很好
/(\d*)/(\d*)/(.*[0-9a-zA-Z])
问题在于向第三卷添加异常
那么,我如何使用正则表达式将其添加到:
(.*[0-9a-zA-Z])
除此为“页面”的情况外的规则
我想要olivian.ro/2012/09/我关于剪刀的文章
重定向到olivian.ro/我关于剪刀的文章
但我不想olivian.ro/2012/09/page/2
重定向到olivian.ro/page/2
我正在使用WordPress的重定向插件,它将第一组规则重定向到
/$3
在.htaccess中,在您的重写规则之前添加以下内容:
RewriteCond %{REQUEST_URI} !/\d+/\d+/page/
在php本身中,您可以在正则表达式本身中使用一个负的前瞻性:
#/(\d*)/(\d*)/(?!page)(.*[0-9a-z])#i
请注意,(.[0-9a-z])
表示“任何字符(.)一次或多次,以及在0-9或a-z中的1个字符之后”,我怀疑这是您想要的([0-9a-z]*)
似乎更合适,甚至([^/]+)
(除了斜杠之外的任何东西,至少一个)。你对它的实际描述(“任何以字母数字开头的东西”)当然是([0-9a-zA-Z].*)
Wrikken,我需要正则表达式。非常感谢您的友好回复。这很好地发挥了作用:“我描述了一些我自己没有正确理解的东西,但描述得很糟糕,这些东西是从互联网上获取的。”谢谢我不能投票,我会投票给你。