301重定向 - 匹配文件名的一部分

时间:2009-09-30 07:52:10

标签: regex mod-rewrite redirect

[UPDATE]

我在下面要求的是不可能的。在这种情况下,当我的大脑疼痛时,我怎么能简单地重定向

MYDOMAIN / folderA / FolderB中/名称 - 0000.php

myNewDomain / folderC / FolderB中/ name.php

[/ UPDATE]

我目前有一些网址符合以下模式。

/folder/folder2/name-name-id.php

现在,内容已移至具有不同文件结构的新域。如果不是因为URL的ID部分现在不同,那么重定向它们就足够了。

所以我需要能够从域A重定向以下内容:

/folderA/folderA2/name-name-0000.php

到域B:

/folderB/folderB2/name-name-5555.php

我无法弄清楚如何匹配名称部分并忽略id。注意,名称可以是n个字长,它不限于两个。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

尝试使用此路径的正则表达式:

^/[^/]+/[^/]+/[^/]+-[0-9]+\.php$

现在,根目录中.htaccess文件的mod_rewrite规则可能如下所示,以匹配名称和ID:

RewriteRule ^folderA/folderA2/([^/]+)-([0-9]+)\.php$ …

修改编辑完需求后:

RewriteRule ^folderA/([^/]+)/([^/]+)-[0-9]+\.php$ /folderC/$1/$2.php [L,R=301]