2012-07-17 47 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