2016-05-19 85 views
-1

我想這兩個.htaccess規則的網站結合:如何結合.htaccess規則?

RewriteRule ^newsletter\.html$ https://fleio.com/newsletter [L,R=301] 
RewriteRule ^newsletter[/]?$ newsletter.html [L] 

如果只有一個是積極的,它是做什麼必須做的。但是,當我使用他們兩個,我得到一個錯誤

太多的重定向。

https://docs.google.com/document/d/1M6rYkEV-tmO7wRSJYjGtGOFow-76ZvbODnnjiqCh1m0/edit?usp=sharing

+0

你重定向一個到另一個,反之亦然,這是一個循環。您想要在哪些網址重定向哪些網址? – Halcyon

+1

我們不會去「外面」去看代碼。粘貼在這裏作爲您的問題編輯 –

+0

RewriteRule^newsletter \ .html $ https://exanple.com/newsletter [L,R = 301] RewriteRule^newsletter [/]?$ newsletter.html [L] – badrhari

回答

0

你的第二個規則是內部重定向到同一個位置的要求(第一街)多時間,讓您得到迴路誤差。您需要使用RewriteCond並與the_request變量匹配以防止重寫循環。

試試這個:

RewriteEngine on 

RewriteCond %{THE_REQUEST} /newsletter\.html [NC] 
RewriteRule^/newsletter/ [L,R] 
RewriteRule ^newsletter/?$ /newsletter.html [NC,L] 
+1

謝謝starkeen!工作很好。 – badrhari

+0

不用客氣@badrhari如果您使用的是Apache 2.4.' ,則可以在內部rewriteRule中使用** END ** 標誌來防止重寫循環。 以下示例適用於阿帕奇2.4和更高版本: '重寫規則^通訊\ html的$ https://fleio.com/newsletter [L,R = 301] 重寫規則^通訊[/ ]?$ newsletter.html [END]' – starkeen