0
我有一串未命中的URL,我想重定向到正確的URL。RewriteRule刪除查詢字符串中的%2f
這是一個很好的例子:
http://example.com/search/?q=searchterm%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F&scope=45%2F%2F%2F%2F%2F/
我已經能夠重定向規則與下列大部分:
RewriteCond %{QUERY_STRING} ^(.*)%2F RewriteRule ^search/$ /search/?%1 [NE,R=301,L]
按照我的理解,這隻能是因爲尾隨「%2F」被刪除,然後規則再次擊中。 Google只接受有限數量的重定向。
所以我儘量去適應規則與1個或多個「%2F」
的工作這是我到目前爲止有:
RewriteCond %{QUERY_STRING} ^(.*)((%2F)*) RewriteRule ^search/$ /search/?%1 [NE,R=301,L]
的結果是: /搜索/? q = searchtermFFFFFFFFFFFFFFFF & scope = 45FFFFF/
我在想什麼?
最好的問候, 亞歷山大
這是有效的,但條件在重寫後仍然爲真,當所有「%2F」被刪除時。 –
我在開始時添加了第二個條件,這似乎工作。 'RewriteCond%{QUERY_STRING}([^%2F] *)[%2F]' –