2012-07-17 49 views
0

我们已经改变了电子商务供应商,我需要坚持一些我们已经完成的SEO。 我想为一组页面做一个301到一个新的URLApache2:Mod_rewrite通配符text.html

我有一组页面结束所有与相同tickets.htm。因此,例如,我有一个页面/blank_tickets.htm和/concert_tickets.htm,并且列表继续。

所以,我想这样的:(。*) 重写规则^/tickets.htm $/T /票/类型/标准

我想这没有前导/没有$的变化等

我确信我错过了一些简单的东西,但我的Google-fu没有返回相关示例。

谢谢!

+0

您的RewriteRule似乎不会生成301,而是要为其他URL(即ticket.htm URL)提供服务。 另外,你的问题是什么?你的表情从来没有匹配过? – 2012-07-17 18:02:45

+0

是的我仍然得到404的删除页面,而不是被重定向到/ t /门票/类型/标准的URL – 2012-07-17 18:03:54

+0

如果你添加'[R,L]'指令的末尾会发生什么? (当然,在它之前有一些空格) – ruakh 2012-07-17 18:07:57

回答

0

你没有逃脱点。使用 \。在.htm部分的正则表达式中。

编辑:也可以使用[R = 301]标志,或简单地[R]产生一个HTTP 301标头。

+0

改为:RewriteRule ^(。*)tickets \ .htm $/t/tickets/types/standard [R]同样的结果 – 2012-07-17 18:34:06

+0

是否存在'/ t/tickets/types/standard'?它是否是下一个RewriteRule的主题?如果是这样,那么如果您在前面的规则中使用[L]标志,则重写的顺序可能会导致问题。 对不起,我只是意识到点不可能是问题,因为它匹配所有。 – 2012-07-17 19:07:35

+0

还有一件事。我测试了这些确切的规则,并且他们正在研究我的Apache。但是:你是否还在所有开头都加上了'RewriteEngine'?因为如果你错过了,不会重写。 – 2012-07-17 19:12:18