回答
此規則嘗試(您的htaccess必須位於你的文檔根目錄文件夾)
RewriteCond %{QUERY_STRING} ^pid=([0-9]+)$
RewriteRule ^/?([^/]+)/([^/]+)/([^/]+)/([^/]+)\.jpg$ /$1$2$3$4.jpg?pid=%1 [L]
編輯:此代碼將只與(在查詢字符串3個斜線和pid
)網址,就像你的榜樣工作
EDIT2:簡化查詢字符串,如果您有多個PARAMS(也許在不同的順序),我們不需要RewriteCond
了,但QSA
標誌,而不是
RewriteRule ^/?([^/]+)/([^/]+)/([^/]+)/([^/]+)\.jpg$ /$1$2$3$4.jpg [L,QSA]
這隻會刪除前3個斜槓。如果有更多,那些會留下。 –
我僅以問題中的網址爲例。你可能是對的 - 我不知道,我也不想讓你的答案完全一致 - 但是在不同的URL中可能有很多斜線需要刪除,不僅僅是3. –
你對了。我回答關於OP的例子。讓我們來看看它是什麼,也許他的網址中有更多的斜槓 –
如果該規則應該刪除任何數量的斜槓,而不僅僅是一個固定的數字,您必須創建一個循環。爲此,您可以使用\[N\]
flag,這將導致重寫過程從當前URL開始。這樣做時要小心,做了錯事時,這可能會導致無限循環)然而
RewriteRule ^/?(.*)/(.*) $1$2 [N]
應該工作。你可以測試它with this online tool。
[編輯]:完全重寫 - 我忘了[N]
標誌;)
感謝您鏈接該工具。這非常有用! – smdrager
- 1. Bootstrap:breadcrumb刪除斜槓?
- 2. 刪除反斜槓
- 3. 刪除所有反斜槓除換行符
- 4. json_encode刪除反斜槓
- 5. 刪除尾部斜槓htaccess
- 6. 刪除反斜槓與tr
- 7. lxml刪除雙斜槓iframe
- 8. htaccess刪除尾部斜槓
- 9. 刪除str_replace反斜槓
- 10. PHP $ _ POST刪除反斜槓
- 11. C#刪除反斜槓
- 12. 插入刪除反斜槓
- 13. 從sqlite中刪除斜槓
- 14. 子串刪除正斜槓?
- 15. URL斜槓被刪除
- 16. TinyMCE刪除雙斜槓
- 17. 刪除前後斜槓/
- 18. 刪除URL中第一個斜槓之前的所有內容?
- 19. 從PHP中刪除所有反斜槓urldecoded字符串
- 20. 如何刪除最後一個斜槓後的所有內容?
- 21. 刪除包含反斜槓的所有單詞
- 22. .htaccess文件 - 刪除所有URL的尾部斜槓
- 23. 刪除所有斜槓正則表達式
- 24. 刪除python中的反斜槓後的所有字符?
- 25. 刪除最後一個反斜槓後的所有內容
- 26. 如何刪除字符串中的所有前導斜槓?
- 27. php從所有的href和src中刪除點的斜槓
- 28. 如何刪除第5個斜槓後的所有內容?
- 29. .htaccess:如何處理RewriteRule中的斜槓(/)?
- 30. .htaccess RewriteRule斜槓得到參數
由於它的工作 是的,它總是有3條斜線,但我只包括一個查詢參數有2人QS =和d = 這裏是一個真正的呼叫 http://www.mtdomain.com/B/13/B0/BD62CB5382479EFE5EE122BE6FB.jpg?pid=5623&qs=yvFwvef%26v%7dvlbr%2cdmzDx%7c%7d1%7cskbxzunetvxg1lst%27yzoFWvefYw%7bihn ®%26Rojpdngo%29Wpuj%2cgnwDCjzwnv%27Czheuiz!Rggn%24Iz%25_r%7e2%27Gwup%29%28%3e%3a3%3f87%24Vsiku%29Sumnth%29Xvef%7f%24&d = www.sodastreamusa.com 當我通過在其他查詢字符串中停止工作。 循環示例好像進入了一個無限循環我是否需要一個[L]來阻止它? –