2016-07-17 96 views
0

我有一個靜態頁面託管在GitHub頁面(http://user.github.io/repo/)和一個註冊的域名與託管(mydom.com)。多個代理重寫規則在.htaccess

我想在mydom.com上設置.htaccess,所以所有請求都通過代理重定向到GitHub頁面(在地址欄中保留mydom.com)。首先我想:

RewriteCond %{HTTP_HOST} mydom\.com$ [NC] 
RewriteRule ^(.*)$ http://user.github.io/repo/$1 [P,L,NE] 

它適用於大多數的請求,除了根http://mydom.com/,GitHub的返回404顯式地說明它需要索引文件。如果我明確指定mydom.com/index.html它的作品。奇怪的是,如果我用代理標誌[P]替換爲重定向標誌[R],那麼根請求可以正常工作。 (不要爲什麼得到它)

當然,我已經添加了根請求的規則:

RewriteCond %{REQUEST_URI} ^$ 
RewriteRule ^$ http://user.github.io/repo/index.html [P,L,NE] 

但預期這兩個規則不在一起工作。 這就是奇怪的部分出來。 如果我單獨保留根規則,則根據預期將根請求重定向到user.github.io/repo/index.html,但不會提取其餘資源(/css/*,/js/*)。瞭解。但是如果我將兩個規則放在一起,那麼根規則將停止工作(爲根請求返回相同的GitHub 404)。其他所有內容都通過代理重定向,沒有任何問題。

它爲什麼會這樣?我怎樣才能克服這個問題?

回答

0

但是.htaccess在github頁面上不起作用。如果您要在存儲庫上設置自定義域,則必須按照github documentation instructions

+0

我在虛擬主機上設置'.htaccess',而不是在GitHub頁面上。對困惑感到抱歉 – nazikus