【问题标题】:Issue in 301 Redirect in Laravel 5.4Laravel 5.4 中的 301 重定向问题
【发布时间】:2017-12-05 10:18:19
【问题描述】:

我将类别页面的路由从/listing/category1 更新为/products/category1

旧路线:

Route::get('/listing/{slug}', 'ProductsController@listing');

新路线:

Route::get('/products/{slug}', 'ProductsController@listing');

现在我想将我的 Old Routes 永久重定向 (301) 到 New Routes

只有 4-5 个类别,所以我在公共文件夹的 .htaccess 文件中添加了以下代码,以使用 Redirect 301 脚本手动将所有旧 URL 重定向到新 URL,但它不起作用。

Redirect 301 /listing/category1 https://www.example.com/products/category1
Redirect 301 /listing/category2 https://www.example.com/products/category2

请注意网站有SSL certificate,所以链接以https开头。

Stack Overflow 或其他我无法找到的网站中可能有解决方案。

我也尝试在 .htaccess 文件中添加以下代码,但没有用。

RewriteRule listing/category1 /products/category1 [R=301,L]
RewriteRule ^listing/([a-zA-Z0-9_-]+)$ products/category1

.htaccess 文件的完整代码如下:

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

    RewriteEngine On

    RewriteRule ^/?listing/([\w-]+)/?$ /products/$1 [L,NC,NE,R=301]

    # 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>

所以请帮我告诉如何在 Laravel 5.4 中将旧路由永久重定向到新路由?

提前致谢!

【问题讨论】:

    标签: php laravel .htaccess redirect laravel-5.4


    【解决方案1】:

    这应该可行,

    Route::any('listing/{any?}', function ($any = null) {
        return Redirect::to('/products/'.$any, 301); 
    })->where('any', '.*');
    

    【讨论】:

    • 还有一些静态链接需要更新。你知道如何更新静态链接的路由吗?
    • 静态你的意思是.html链接?
    • 不不,它从 /listing/category1 到 /products/newcatname 意味着完整的 url 会改变
    • 在这种情况下,我们知道新旧 url 是什么,并且与任何其他 url 都不匹配,因此我们无法重写它。
    • 如果你知道新旧 url 应该是什么,为什么不使用上面相同的方法,而是给出完整的路由而不是使用参数?
    猜你喜欢
    • 2018-08-31
    • 2010-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 2014-03-10
    • 2011-11-01
    • 2015-11-28
    相关资源
    最近更新 更多