【发布时间】:2017-05-21 20:32:47
【问题描述】:
我最近将我的 index.php(处理路由的文件)和 CSS、JavaScript 和字体资源移到了 public/ 文件夹中。出于安全目的,我只希望可以访问此 public/ 文件夹中的项目。当我意识到我可以访问 mysite.com/composer.lock 并使用我的旧 .htaccess 和文件夹设置查看作曲家锁定文件时,我遇到了这个问题。
这就是我想要的
如果我访问mysite.com/car/create,我希望它实际上指向mysite.com/public/index.php?path=car/create
如果我链接到 mysite.com/css/style.css 等资产,我希望它真正指向 mysite.com/public/css/style.css
这是我的文件夹结构
这是我的.htaccess,它根本不工作
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ public/index.php?path=$1 [L,QSA]
</IfModule>
我该如何解决这个问题?它只是生成空页面,我仍然可以直接访问根目录下的文件等。
【问题讨论】:
标签: php apache .htaccess mod-rewrite