我有一个Symfony 4网络应用程序。假设它是http://example.com。
我已经在/ public / hesk /中安装了HESK。 现在可以通过http://example.com/hesk/index.php访问HESK,但是当用户跳过“ index.php”时,将显示404错误。
我在控制器中尝试了return $this->redirect('...')
和return new RedirectResponde('...')
,但是浏览器只说重定向太多。
将/ hesk和/ hesk /重定向到/hesk/index.php的正确方法是什么?
答案 0 :(得分:0)
如果您使用Apache,则可以在/ public / hesk /中放置一个.htaccess
文件来强制重定向,就像这样:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php$1 [L,QSA]
</IfModule>
或直接在虚拟主机中使用DirectoryIndex index.php
指令。
对于Nginx,您需要修改您的虚拟主机以添加重定向。那样的东西(未经测试):
location /hesk {
try_files $uri $uri/ /index.php$uri&$args;
}