我正在遷移大型站點(對每個頁面進行重大更改),並且希望將測試用戶組從每個頁面自動從當前站點重定向到新站點完成了。如果存在URL,則使用Apache mod_rewrite進行條件重定向
什麼
www.mysite.com/admin/somefile.php
將成爲
admin.mysite.com/somefile.php
由於每個頁面被遷移到新的網站,我想從一個特定的IP地址的用戶被自動重定向到它。這看起來像RewriteCond的'-U'(現有URL)標誌。 (爲www.mysite.com)mod_rewrite的語句是沿
RewriteEngine On
RewriteCond %{REMOTE_ADDR} 123\.123\.123\.123 # for test users only
RewriteCond http://admin.mysite.com/$1 -U # if new page exists
RewriteRule /admin/(.*) http://admin.mysite.com/$1 [R=302,L] # then redirect
不過線的東西,這似乎並沒有工作 - 也許是因爲$ 1個參數被被定義前引用了?
任何人都可以建議如何實現?
謝謝,克里斯
是的,你可以在那裏引用$ 1 - 當RewriteCond被評估時(RewriteRule的模式被首先評估)它將被知道。我只是不確定'-U'是以這種方式工作(如果admin.mysite聲明爲單獨的網站)。在任何情況下 - 我建議啓用重寫調試('RewriteLogLevel 9')並檢查重寫日誌中的確切細節。 – LazyOne