当我使用server.php文件打开网站时,会显示我的索引页面(index.blade.php),并且该页面上的链接到列表页面(list.blade.php)会成功打开。当我通过server.php访问时,我遇到了识别我的javascript文件的问题?但是,如果我打开公共文件夹,它会将我放在我的索引页面并且javascript文件被识别...
当我打开公共文件夹,然后点击列表链接时,我收到“抱歉,找不到您要查找的页面。”
web.php
Route::get('/', function () {return view('index');});
Route::get('list', 'IngredientsController@display');
IngredientsController
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Ingredient;
class IngredientsController extends Controller
{
/* Displays list of ingredients in db */
public function display()
{
$ingredients = Ingredient::all();
return view('list', compact('ingredients'));
}
}
为ingredient.php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Ingredient extends Model
{
}
将索引页面链接到列表页面:<a href="{{ url('list') }}">List url</a>
htaccess的
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
答案 0 :(得分:0)
Laravel不使用root来包含文件。所以是的,你的IDEA看到你的文件包含正确但laravel它没有。
看到这篇文章的答案: https://stackoverflow.com/a/28915577/5334073
Laravel使用公用文件夹作为“root”文件夹。这就是Laravel的工作方式。要调用该根,您应该使用URL :: assets函数来解释我给你的帖子的答案。
答案 1 :(得分:0)
高于RewriteEngine On
我将Options +FollowSymLinks
及RewriteRule ^ index.php [L]
放在RewriteBase /nameoflaravelproject/public/
以上liftPredMaybe :: (a -> Bool) -> a -> Maybe a
liftPredMaybe p a
| p a = Just a
| otherwise = Nothing
我添加了这两行代码并且它有效。对不起,我真的不明白这一点,如果有人可以解释为其他用户提供更好的资源,那就太好了。