2017-01-17 74 views
2

我的網站,我在本地主機上http://example運行,我有目錄中包含我的API,因此它的http://example/api的.htaccess重新路由到子目錄

api文件夾,我對API我的根目錄的根哪是public目錄。所以/api/public/...

我想有一個.htaccess,當用戶點擊http://example/api/{api parameters}時將用戶重定向到public。因此,我可以有一個乾淨的網址,而不必寫這http://example/api/public/{api parameters}

我試過,但無濟於事

RewriteEngine On 

RewriteCond %{REQUEST_URI} !^/api 
RewriteRule ^api/(.*) /api/public/$1 [L] 

我上面從SO post但還是沒能得到它的工作。

+0

只要刪除''RewriteCond''行,你應該沒問題。 – arkascha

+0

雖然問題是您實際上通過「api參數」引用的內容以及如何處理這些內容...... – arkascha

+0

@arkascha不起作用。 – bos570

回答

0

嘗試使用:

RewriteEngine On 
RewriteBase /api/public/ 

引用一個stack overflow answer, 「通過具有RewriteBase那裏,你做的相對路徑來關閉RewriteBase參數。」

使用這種方法,我相信你將不得不重寫所有不屬於基本目錄的路徑。如果這是一個問題,您可以爲每個頁面創建一個規則。

更新:您可能可以編寫一個規則,在檢查相對路徑之前/之後檢查該路徑中的文件。