【发布时间】:2016-03-16 04:02:27
【问题描述】:
我认为这很容易,但我自己真的很困惑。
- myproject.com/index.php 显示我的项目主页
- myproject.com 也显示了我的项目主页。
- 在第一种情况下,路由后它工作正常(即:myproject.com/index.php/register)
- 在第二种情况下,路由失败(即:myproject.com/register)并出现以下错误:在此服务器上找不到请求的 URL /register。
因此,我认为我必须将对 myproject.com 的每个请求重新路由到 myproject.com/index.php
app/config/app.php:
'url' => 'http://127.0.0.1/public',
etc/httpd/conf/httpd.conf:
<VirtualHost *:80>
DocumentRoot "/var/www/html/myproject/public/"
ServerName myproject.com
</VirtualHost>
hosts 文件中没有配置任何内容。
目标:如何通过隐藏索引将所有请求从 myproject.com 重新路由到 myproject.com/index.php。 php部分来自用户?
访问者应该看到:myproject.com 但我希望他们真正到达:myproject.com/index.php
解决方法:
<VirtualHost *:80>
DocumentRoot "/var/www/html/myproject/public/index.php"
ServerName myproject.com
</VirtualHost>
结果:我无法访问资产(js、css 文件)结果为 404,因为我的浏览器不允许访问 myproject.com/public/。在此虚拟主机设置中,根目录已设置为 myproject.com/public/index.php。
【问题讨论】:
-
您是否忘记在您的虚拟主机配置中的
<Directory>指令中添加AllowOverride all?