2017-03-31 41 views
0

我有一個包含個人重寫規則映射/services文檔根目錄中的文件services.html共享的託管服務本地.htaccess文件。Apache的mod_rewrite的和隱藏的源文件同時

RewriteEngine On 
RewriteBase/
RewriteRule ^services$ services.html [L] 

如何防止消費者直接訪問/services.html(如果他們嗅左右吧),並讓他們收到404 HTTP響應呢?我做而不是想要任何消費者知道我有一個services.html文件,並且包括髮送302將回到原始/services資源的答覆。

但是,我試圖設置規則返回404的/services.html但這導致/services也返回404。總之,我希望消費者只能看到/services端點(200 OK),永遠不知道它背後映射的是什麼,或繞過公開選擇的端點(services.html返回404 Not Found)。

+0

如果你downvoted,你不介意分享的原因?據我瞭解你的問題,你想調用/服務,並從DocumentRoot獲取services.html,但不希望URL/URI改變... [P]這樣做。 –

+0

@HelloFishy反對票不是我的。 – codemagician

回答

-1

只需'隱藏'您的services.html並首先使用[P]參數代理請求。

RewriteEngine On 
RewriteBase/
RewriteRule ^/services$ http://yourdomain.com/<path-to-the-file>/services.html [P,L] 

這需要一個請求像http://yourdomain.com/services並返回http://yourdomain.com/ /services.html沒有表現出它是從哪裏來的用戶,瀏覽器仍然會顯示/服務