首页 > 解决方案 > Laravel 页面重定向问题

问题描述

嗨,我是 laravel 初学者,在页面导航过程中遇到问题。

http://localhost/mylaravel/public/index

在索引页面中,我有几个项目和下面的 href 以根据项目 id 查看该项目的详细信息。*

<a href="{{route('singleitem',$product->id}}">
Route::get('/single/{id}', 'ProductController@single')->name('singleitem');
Route::get('/index', 'ProductController@index'); 

现在,当我单击项目详细信息时,我得到以下 URL,这没问题。

http://localhost/mylaravel/public/single/25T8C    (here id = 25T8C)

现在,当我单击主页时,从该页面添加单个 [single/index !!!] 的索引页面结尾

<a href="index" class="nav-link">Home</a>
http://localhost/laravel-test/mylaravel/public/single/index

我试图添加一个斜杠,但它已将我重定向到

<a href="/index" class="nav-link">Home</a>
http://localhost/index

这是我的 .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>

任何帮助将不胜感激。

标签: phplaravel.htaccessxampp

解决方案


在现场只需要通过 /index

<a href="/index" class="nav-link">Home</a>

它会将您重定向到

http://yourdomain.com/index

但是在本地主机上,您还必须添加目录名称(注意:在现场将没有文件夹名称。因此/index将在那里工作)。

<a href="/laravel-test/index" class="nav-link">Home</a>

或者,您必须通过 artisan 服务器运行 laravel,然后 /index 也将在您的 localhost 上运行。

您正面临这个问题,因为当我们在 URL 之前给出/时,它会将给定的 URL 与主机连接起来,而在 XAMPP 上,我们必须在 localhost 之后连接文件夹名称。


推荐阅读