我正在學習如何爲.htaccess重定向編寫正則表達式。 到目前爲止,我設法弄清楚了我需要的所有東西,除了一些正常表達式不符合我的預期外。我正在使用桌面應用程序測試我的正則表達式,並且它們在那裏正常工作,但不在.htaccess文件中。爲什麼我的RewriteRule在URL中有'?`時不起作用
FYI:將RewriteBase設置爲/site/
這是輸入網址: /site/view-by-tag/politics/?el_mcal_month=3&el_mcal_year=2009
我想抓住 「政治」,並重定向到/site/tags/politics/
下面是我用什麼:
RewriteRule ^view-by-tag/([a-zA-Z\-]+)/([a-zA-Z0-9\-\/\.\_\=\?\&]+) /tags/$1/ [R=301,L]
我在politics
之後添加了所有字符的捕獲,因爲我遇到的問題是,當URL中存在?
時,重定向不起作用,我無法弄清楚原因。在上面給出的URL中,如果我刪除?
它可以正常工作,但如果?
在那裏,則不會發生任何事情。是否有一個原因?
同樣的事情時,我嘗試從/site/?option=com_content&view=article&id=307&catid=89&Itemid=55
捕捉307
我用這個正則表達式,article&id=([0-9]+) /?p=$1 [R=301,L]
但同樣,當出現在URL中?
停止做任何事情的發生重定向。
這是什麼原因?
的.htaccess
文件中的問題是,在查詢字符串必須分別在RewriteCond
如果你需要對其進行操作處理的WordPress的博客(3.4.1)
同上我對TerryE的評論:感謝這個信息。幾天後離開了。我會試試這個。知道這一點很有幫助。我非常享受更多關於正則表達式的知識......我推遲了很久。 – inspirednz 2012-07-18 22:33:32
@inspiredlife學習正則表達式是實現啓蒙的一個基本步驟,或者像開始通過矩陣看到的一樣。 – 2012-07-18 23:05:05
:-)。是的,通過矩陣看,或許更重要的是,能夠隨意操縱和改變!強大的東西。 – inspirednz 2012-07-19 22:54:14