如何从URL中删除/ public?

时间:2019-04-13 11:02:09

标签: php apache .htaccess slim-3

我正在使用Slim框架来构建网站。如何使用.htaccess重写网址?

这是我的.htaccess文件的样子,任何路由都重定向到索引页,我是从Slim Documentation

获得的

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]


这是我的目录结构。

|--app
|--bootstrap
|--public
   |--css
   |--js
   |--index.php
   |--.htaccess
|--routes
|--vendor
|--views
|--composer.json
|--composer.lock

现在如何运作

http://localhost/SlimApplication/public/-指向索引页面 http://localhost/SlimApplication/public/Users-指向用户页面

这就是我想要的工作方式

http://localhost/SlimApplication/-应指向索引页 http://localhost/SlimApplication/Users-应指向用户页面

我该怎么做才能使这项工作?我也是.htaccess和Slim的新手,所以任何帮助都会很棒。谢谢,干杯!

1 个答案:

答案 0 :(得分:0)

在升级文件夹层次结构(与公用文件夹相同)中创建新的.htaccess文件。您需要RewriteBase / public /指令。

RewriteEngine On
RewriteBase /public/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]