我正在開發一個網站項目,我們基本上從TYPO3移動到WordPress & Magento解決方案。.htaccess使用多個{QUERY_STRING}重寫規則s
在啓動新網站之前,我想添加重寫規則以將舊的(TYPO3,非SEF)URL指向相應的新網站。我有一個包含約1000個URL的Excel列表,我想以某種方式將其添加到htaccess並創建301。 如果你有更好的方法,我會很感激。
我所掙扎的是:
「老字號」 的URL結構看起來像?id=123\&user_e15proddb1_pi1[domain]=42
的correcponding新的URL會 /de/alle-produkte/neuheiten.html
RewriteEngine敘述是,RewriteBase是/。
我試圖
RewriteCond %{QUERY_STRING} ^id=123\&user_e15proddb1_pi1[domain]=42$
RewriteRule . /de/alle-produkte/neuheiten.html [R=301,L]
隨着另外逃脫_
和[]
與無濟於事。 我試圖通過
RewriteCond %{QUERY_STRING} ^id=123$
RewriteCond %{QUERY_STRING} ^user_e15proddb1_pi1[domain]=42$
隨後TheRule到{QUERY_STRING}
小號單獨的兩成。也無濟於事。
重寫工作本身,因爲我試過
RewriteRule .id=123\&user_e15proddb1_pi1\[domain\]=42$ /de/alle-produkte/neuheiten.html [R=301,L]
但是,只有工作沒有在一開始的問號。
你能給我提示我做錯了什麼嗎?
我認爲點('.')作爲重寫URL的選擇器有點不對。 您的解決方案工作正常,非常感謝! –
模式中的點是不匹配着陸頁的,因爲它使用'^ $'匹配。使用'^'來匹配所有的情況是比較安全的。 – anubhava