繁体   English   中英

htaccess - 将所有流量重定向到子文件夹

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM