【发布时间】:2015-11-04 20:37:35
【问题描述】:
我是新的 php 开发人员,有兴趣使用 laravel 框架5
当我访问链接localhost/project/public/
这是工作
我在路由中添加功能
> Route::get('home', function () {
> return View::make('home.home'); });
>
> Route::get('contact', function () {
> return View::make('contact.contact'); });
我访问链接 localhost/project/public/home 或 localhost/project/public/contact
显示错误 404 页面未找到
但我可以通过 localhost/project/public/index.php/home 访问,但它没有 js 文件和 css 文件
在我的 htacess 文件中
选项 - 多视图
RewriteEngine On # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/$ /$1 [L,R=301] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] RewriteRule ^(.*)$ public/$1 [L] </IfModule>
我已经使用 xampp 并启用了 mod_rewrite
我错过了什么设置?
谢谢
【问题讨论】:
-
尝试创建一个指向该 /public 的虚拟主机。我不知道你为什么最后有“RewriteRule ^(.*)$ public/$1 [L]”。你可以删除它。创建虚拟主机后,将您的域名例如:“my_domain.dev”添加到您的主机名(Linux 的 /etc/hosts)。然后,当您访问 my_domain.dev 时,它应该使用位于公共文件夹中的 css 文件正确呈现所有内容。另外我假设 home.blade.php 存在于 resources/views/home/ 中,而 contact.blade.php 存在于 resources/views/contact/ 中。
-
这个问题主要是由
mod-write引起的,但既然你已经启用了它,你应该重启你的xampp如果没有这样做 -
为什么不使用“php artisan serve”为项目提供服务,这样可以保证工作,没有任何问题。
-
为了改善我的答案,您可以通过显示您的虚拟主机配置来改善这个问题。我的回答不一定能解决问题,因为我不确定您的主机配置是否指向正确的位置。
-
我只是移动了
root/public/.htaccess to root/.htaccess,它可以工作
标签: php .htaccess mod-rewrite xampp laravel-5