我真的很努力與這個正則表達式。正則表達式匹配一個htaccess文件的URL模式
我們啓動了新版本的「羣組」功能,但需要在同一個網址支持所有舊羣組。幸運的是,這兩個功能有不同的網址模式,所以這應該很容易?對?
- 老:domain.com/group/$groupname
- 新:domain.com/group/$groupid/$groupname
我使用正則表達式的正則表達式當前重定向老老組的腳本是:RewriteRule ^(group /([^ 0-9 /].*))$ /old_group.php/$1 [L,QSA]
它一直很好,直到一個組彈出up叫這樣的:domain.com/group/2009-neato-group
在這一點上,正則表達式匹配並強制新組到舊代碼,因爲它包含數字。糟糕!
那麼,任何想要匹配舊模式的正則表達式,所以我可以重定向它?
模式必須匹配:
- 組/我的老組
- 組/另一歲組/
- 組/ 123-另一歲組-456 /一個模塊-內最組/
模式不能匹配:
- 組/ 12/A-新組
- 組/ 345 /另一個新組/
- 組/ 6789/A-第三組/模塊-ABC/
的我想過的最好方式是它不能以「group-slash-numbers-slash」開頭,但無法將其轉化爲正則表達式。所以,否定這種模式的東西可能會起作用。
感謝
這是我正在思考的一種方法,但相反的方式看起來比我在代碼中的其他規則更清晰。但是,我最終可能會陷入困境。謝謝。 – 2009-07-18 00:50:27