我試圖實現以下的Apache URL重寫:子站點
到subdomain.domain.com/some/path
作出的HTTP請求應該重寫domain.com/subdomain/api.php?__route__=some/path
。
這是Epiphany庫正常運行並正確處理RESTful API調用的要求。我的網站目前託管在GoDaddy上,並且我使用GoDaddy網頁界面將subdomain.domain.com
設置爲domain.com/subdomain
。我已經把下面的文字.htaccess文件中的子域目錄下:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\?*$ api.php?__route__=/$1 [L,QSA]
我得到的標準500內部服務器錯誤時,我儘量讓REST風格的API任何調用。
不幸的是,我必須等幾個小時才能讓GoDaddy訪問任何Apache日誌文件。任何想法爲什麼這不起作用?
EDIT
爲了澄清,我想以下重寫來發生:
internal.ledworld-me.com/some/path
=>ledworld-me.com/internal/api.php?__route__=/some/path
現在,GoDaddy的被用於映射internal.ledworld-me.com
到ledworld-me.com/internal
。我開始認爲我應該從GoDaddy方面刪除映射,並完全依靠mod_rewrite來實現此目的。
現在,我得到「的請求的URL'/子/一些/ path'在此服務器上找到」。看來URL重寫沒有發生。爲了澄清事情並使問題變得不那麼通用,域名爲ledworld-me.com,子域名爲internal.ledworld-me.com。所以我想要的是,當對internal.ledworld-me.com/path提出請求時,它應該被重寫爲ledworld-me.com/internal/api.php?__route__=/path。另請注意,子域名internal.ledworld-me.com到ledworld-me.com/internal的映射已經通過GoDaddy網頁界面進行設置。 – faridghar
你能否讓兩個域共享相同的'DocumentRoot'? – anubhava
是的,internal.ledworld-me.com映射到ledworld-me.com/internal(通過GoDaddy),因此它們共享相同的DocumentRoot。 – faridghar