[英]htaccess - Redirect all traffic into subfolder
我想將所有流量重定向到子目錄,因此請求如下:
a) http://localhost/app/index.php/app/ctrl
b) http://localhost/app/media/image.jpg
將被重定向(對用戶不可見)到:
a) http://localhost/app/public/index.php/app/ctrl
b) http://localhost/app/public/media/image.jpg
如您所見,我的應用程序並不直接位於根目錄中,而是位於子目錄中。
這是我的文件結構:
/
app/
public/
media/
image.jpg
index.php
source/
.htaccess
otherapp/
我正在 /app/.htaccess 下面的 IMO 代碼應該可以工作,不幸的是我找不到 404
RewriteRule ^(.*)% "public/$1"
訪問日志:
::1 - - [21/Mar/2017:15:23:21 +0100] "GET /app/index.php/app/ctrl HTTP/1.1" 200 6681 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:49.0) Gecko/20100101 Firefox/49.0"
::1 - - [21/Mar/2017:15:23:30 +0100] "GET /app/media/image.jpg HTTP/1.1" 200 6681 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:49.0) Gecko/20100101 Firefox/49.0"
有什么建議?
在app/.htaccess
使用此規則:
RewriteEngine On
RewriteRule ^(?!public/).*$ public/$0 [L,NC]
(?!public/)
是消極的前瞻來檢查 URI 是否已經沒有用/app/public/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.