我正在执行this tutorial,文件结构如下:
└── public
├── .htaccess
└── index.php
└── .htaccess
一切都按预期运行。
root.htaccess看起来像这样:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>
我对.htaccess不太了解,但我想这会将URI重路由到public
目录,所以每个请求都会转到那里。
public目录中的.htaccess如下所示:
<IfModule mod_rewrite.c>
Options -Multiviews
RewriteEngine On
RewriteBase /auth/public
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
</IfModule>
上面的一切都按预期工作,但我想增强它,所以它的工作方式如下:
- URL
https://www.something.com/anything
保持不变
1.但在服务器上,它是这样处理的https://www.something.com/index.php?q=anything
(技术上是https://www.something.com/public/index.php?q=anything
)
1条答案
按热度按时间mrzz3bfm1#
好了,我找到了答案。我编辑了root .htaccess,并将最后一行改为:
RewriteRule (.*) public/index.php?s=$1 [L]
整个文件现在看起来如下所示:
将URI重新路由到
public
目录的重写规则现在将URI重新路由到索引的查询。