1

我工作的网站过去有这两个页面:

http://www.africananimals.com/stripes/zebras

http://www.africananimals.com/news/zebras

(这些不是实际的域名,只是示例。)

最近重新组织了目录结构,相同页面的 URL 更改为:

http://www.africananimals.com/zebras/stripes

http://www.africananimals.com/zebras/news

我想要一个 mod_rewrite 规则(或一种资源消耗较少的替代方法,例如 Redirect 命令或类似的东西),以使两个页面都带有旧 URL 书签的爱好者受益。我需要它适用于 http//www.africananimals.com 和 http//africananimals.com/ 版本的 URL。

我的解决方案是这样的:

Redirect /stripes/zebras http://www.africananimals.com/zebras/stripes
Redirect /news/zebras http://www.africananimals.com/zebras/news

——但我不确定我是否正确。正则表达式很糟糕,而且对 .htaccess 的理解很肤浅,我肯定会感谢一些指导。

4

1 回答 1

1

如果请求不包含单词 zebras,它甚至不会尝试这个正则表达式(节省 cpu)。这将在开始时交换条纹或斑马,并在斑马结束时替换它。

RewriteEngine On
RewriteCond %{REQUEST_URI} zebras
RewriteRule ^(stripes|news)/zebras/?$ zebras/$1 [R,L]

这 /?它将使它也接受任何以 / 结尾的 uri,因为目录应该如此。

于 2013-02-10T19:23:41.240 回答