laravel 5.5 - 路径到文件夹

时间:2017-12-13 03:34:52

标签: php laravel-5 routes

我将所有laravel 5.5应用上传到我的共享服务器(www.example.com/laravel/)文件夹。现在,当我转到www.example.com/laravel时,它将启动我的应用程序。但我有2个路线问题:

  1. 我在web.php中的路由不再有效了。当我点击:
  2. <a href="{{ url('about') }}">AboutUs</a>

    它将转到www.example.com/laravel/about,结果可以理解为Not Found,因为在我的web.php我的路线是:

    Route::get('/about', 'HomeController@about')->name('about');
    

    我甚至改为

    Route::get('laravel/about', 'HomeController@about')->name('about');
    

    它仍然无效。我该如何解决这个问题?

    1. public文件夹中仍有/laravel/个文件夹。要使所有css和js文件链接,我必须改变:

    2. <link href="{{ asset('public/css/app.css') }}" rel="stylesheet">
      

      让它发挥作用。有没有重新配置?

      我可以硬编码以使它们工作。但这将严重影响我不断的开发和更新过程。我正在寻找一种方法来设置它,无需在开发和生产之间进行更改。

      Update01 我尝试了@ ben的建议并更改.htaccess文件夹中的public

      <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
          RewriteBase /laravel //<-----this is what I add!
          RewriteRule ^ index.php [L]
      </IfModule>
      

      但似乎没有任何效果。我对.htaccess很新,所以我不确定我在那里做什么。还有更多见解吗?

0 个答案:

没有答案