.htaccess - 将网站从.html移动到.php,但排除文件夹

时间:2010-12-31 11:09:22

标签: php regex apache .htaccess

我有一个新网站,并将旧版本的网站放在/ old文件夹中。

新网站的页面名称与旧网站相同,但它们现在都有.php扩展名。

我有以下SEO规则将所有.html文件定向到.php

RedirectMatch 301 (.*)\.html$ http://www.mysite.com$1.php

但是我仍然需要能够访问/ old文件夹中的所有内容 - 重定向显然也是重定向这里的文件(例如mysite.com/old/mypage.html将访问mysite.com/old/mypage .php - 我需要.html版本)

我试图找出自己,但我不确定所有的RedirectXYZ命令。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您可以使用negative lookahead

实现此目的
RedirectMatch 301 ^(?!/old)(.*)\.html$ http://www.mysite.com$1.php

(?!/old)拒绝在此位置包含字符串/old的匹配项。我们使用^将其限制为匹配的字符串的开头。