我試圖重寫任何具有非空REQUEST_URI到另一個域的URL,同時保留REQUEST_URI。這個想法是,只有www.example.com存在於這個域上,任何其他請求都應該去www.example2.com。如何使用.htcaccess將非基本URL重寫到另一個域?
我已驗證www.example.com具有'/'作爲其REQUEST_URI。
例如
www.example.com -> should not be rewritten
www.example.com/test.php -> should be rewritten to www.example2.com/test.php
www.example.com/test2.php?id=123 -> should be rewritten to www.example2.com/test2.php?id=123
[更新] 我試圖比較REQUEST_URI爲「/」,但重定向一切:
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/$
RewriteRule ^(.+)$ http://www.example2.com/$1 [L,QSA]
我試圖檢查文件或目錄存在,那麼它重定向但就是重定向連底座網頁(www.example.com)
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://www.example2.com/$1 [L,QSA]
我試圖檢查是否有斜線後的內容,但沒有重定向:
RewriteEngine on
RewriteRule ^.+/(.+)$ http://www.example2.com/$1 [L,QSA]
任何人都可以想出一個工作解決方案呢?它似乎應該很簡單,但我似乎無法得到它的工作。
謝謝。
解決方案:
FYI:我最終的解決方案與打算是:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://www.example2.com/$1 [R,L,QSA]
的原因是,如果我有www.example.com的所有圖像,他們會重寫到www.example2.com。 [R]是導致基本URL重定向問題正常工作的原因。感謝龐恰指出了這一點。
對不起,我寫錯了 - 我其實有你的迴應,但這並不奏效。 – 2012-08-05 14:59:44
其實它是你添加的R修復它! – 2012-08-05 15:01:59