【问题标题】:All other routes aren't working except '/' on my Laravel project在我的 Laravel 项目中,除了“/”之外,所有其他路由都不起作用
【发布时间】:2017-06-29 18:48:19
【问题描述】:

我正在尝试学习 Laravel 框架。我安装了它并配置了虚拟主机

当我尝试访问该项目时,它可以工作

但是当我尝试另一个根目录时,例如 /justForTest 它没有用 不知道为什么?!

Route::get('/', function () {
   return view('welcome');
});

Route::get('/justForTest', function () {
   //return view('welcome');
   return "Hello world !";
});

image

我在网上尝试了许多解决方案都徒劳无功。 我使用 kubunto 17.04,这就是我所做的

-我在我的 lsapp.div.conf

上添加了带有 AllowOverride all 的目录
<VirtualHost *:80>

ServerAdmin ham.elmaslouhi@gmail.com
ServerName lsapp.dev
ServerAlias www.lsapp.dev
DocumentRoot /var/www/html/lsapp/public
     <Directory "/var/www/html/lsapp/public">
     AllowOverride all
     </Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

-我已经用 a2enmod rewrite

启用了重写模式

-我在我的 htaccess 文件中添加了 RewriteBase /laravel/

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On
    RewriteBase /laravel/   
    # 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]

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

谢谢你帮助我。

【问题讨论】:

  • 请在问题中添加实际代码而不是代码图片。
  • 请注意,当您尝试此操作时,网址应为:localhost:8000/justForTest 大写“F”和“T”。
  • @dsadnick Okey 我做到了,希望现在很清楚
  • @L.Kelmendi 它不起作用
  • 你的日志说什么?位置是 storage/logs/laravel.log

标签: php laravel .htaccess


【解决方案1】:

在您的 .htacess 中删除或评论 #RewriteBase /laravel/

【讨论】:

    猜你喜欢
    • 2018-04-14
    • 2014-07-31
    • 2014-03-25
    • 2020-12-04
    • 2019-11-03
    • 2020-08-26
    • 2015-12-13
    • 2018-08-20
    • 2020-04-28
    相关资源
    最近更新 更多