[英]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.