重定向多个链接的规则
嗨,我现在正在迁移一个网站。我有大约400个我需要重定向的链接。我知道如何在每个人的htaccess中设置一个重定向,但是会建立一个规则。我想重定向多个链接的规则
www.example.com/2011/10/the-news-post
重定向到
www.example.com/home/post/the-news-post
可以做到这一点吗?如果是这样的代码是什么样的?
感谢,
格雷戈尔
为了保持连字符:
RewriteRule ^[0-9]{4}/[0-9]{1,2}/([^/]+)$ [R=302,L]
为了改变连字符为下划线(这也是我不建议):
RewriteRule ^([0-9]{4}/[0-9]{1,2}/[^/]+)-([^/]+)$ $1_$2 [N]
RewriteRule ^[0-9]{4}/[0-9]{1,2}/([^/]+)$ home/$1 [R=302,L]
简要说明: 第一条规则与任何UR L与日/月,然后是包含连字符的文章。它会替换连字符,然后重新运行所有重写规则。一旦没有连字符,它将通过第二条规则,将URL重写为home/articlename。
演示:http://cerebraldonkey.com/mod_rewrite2/2011/5/some-article-containing-several-hyphens
谢谢模拟。我现在用所有网址上的超链接替换下划线(不确定为什么我认为用下划线去做是个好主意...... DOH!)。所以我做了所有我需要的是:RewriteRule^[0-9] {4}/[0-9] {1,2} /([^ /] +)$ home/post/$ 1 [R = 302, L]? – gelviis
没错。这就是你所需要的。 –
是否有您想使用“_”进行重定向的特定原因?我认为使用“ - ”会更适合您的搜索引擎优化 –
事实上 - 使用继续使用'-' - 建议通过'_'。 – LazyOne
我现在使用连字符 - 是一个疏忽!助教。 – gelviis