Laravel 5.4中的301重定向问题

时间:2017-12-05 10:18:19

标签: php laravel .htaccess redirect laravel-5.4

我将类别网页的路线从/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脚本手动将所有旧网址重定向到新网址但它没有用。

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中的新路由?

提前致谢!

1 个答案:

答案 0 :(得分:4)

这应该有效,

A a; // object declaration
a=new A(); // object Creation

     or
A a=new A();