MVC公用文件夹htaccess无法正常工作

kjdion84

我最近将我index.php(处理路由的文件)和css / js / font资产移到了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

这是我的文件夹结构

MVC文件夹结构

这是我.htaccess根本不工作的

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.+)$ public/index.php?path=$1 [L,QSA]
</IfModule>

我不确定如何解决此问题。它只是生成空白页,我仍然可以直接访问根目录等中的文件。我们将提供任何帮助。

DocRoot

您现有的指令特别避免了重写现有文件的请求,因此它仍然使您能够访问根目录中的文件。还将静态资源重写为public/index.php?path=,这可能会失败。

请尝试以下操作:

RewriteEngine On

# Stop processing if already in the /public directory
RewriteRule ^public/ - [L]

# Static resources if they exist
RewriteCond %{DOCUMENT_ROOT}/public/$1 -f
RewriteRule (.+) public/$1 [L]

# Route all other requests
RewriteRule (.*) public/index.php?path=$1 [L,QSA]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Laravel 4.2项目上传后无法正常工作-浏览器中不显示公用文件夹

htaccess 和多个公用文件夹

删除jvm文件夹后,netbeans无法正常工作

文件夹的符号链接无法正常工作

perl 传递文件夹名称无法正常工作

.htaccess-不路由到公用文件夹

无法解析公用文件夹中的文件

Nextjs公用文件夹

.htaccess文件无法正常工作

VBA 循环遍历文件夹中的文件无法正常工作

无法使用.htaccess重写文件夹

rails 删除公用文件夹的文件

如何从src导入js文件到公用文件夹/服务工作者文件

Express 应用程序定义的“静态”文件夹无法正常工作

如果文件夹名称包含 Unicode 字符,则批处理无法正常工作

在子文件夹中运行的Angular 7中的路由无法正常工作

文件夹资源管理器在Excel VBA中无法正常工作

排除所有内容,但gitignore中的某些子文件夹无法正常工作

移动项目文件夹后,Navbar CSS无法正常工作

节点JS fs.unlink无法正常工作静态文件夹

试图了解为什么在Haskell中使用文件夹的此功能无法正常工作

LAMP工作正常,但我无法访问本地站点\ site文件夹

Laravel,保护文件夹公用文件夹中

如何显示路径正常的公用文件夹中存储的图像?

htaccess更改重写规则以覆盖公用特定文件夹的WP多站点

htaccess重定向到公用文件夹,并带有斜杠

.htaccess重定向到公用文件夹,不包括子域

访问公用启动文件夹

使用公用文件夹中的图像