07/09/2018, 17:49

Laravel Nginx loại bỏ /index.php/ trên URL tối ưu SEO

Vấn đề Nếu web site của bạn đang chạy Laravel trên VPS thì các bạn biết Laravel điều hướng toàn bộ request ở file public/index.php như vậy trên thực tế website sẽ có index.php trong URL. Ví dụ: https://chungnguyen.xyz/index.php https://chungnguyen.xyz/index.php/posts/kich-hoat-office-profe ...

Vấn đề

Nếu web site của bạn đang chạy Laravel trên VPS thì các bạn biết Laravel điều hướng toàn bộ request ở file public/index.php như vậy trên thực tế website sẽ có index.php trong URL. Ví dụ:

  • https://chungnguyen.xyz/index.php
  • https://chungnguyen.xyz/index.php/posts/kich-hoat-office-professional-2016-don-gian

Điều này cũng chẳng có gì quan trọng, nếu như Google không lập chỉ mục phiên bản index.php  những URL này lại, và tất nhiên ảnh hưởng đến SEO website

Giải quyết

Trong block server của file .conf (/etc/nginx/conf.d/chungnguyen.xyz.conf vps của Chung Nguyễn Blog) thêm đoạn config sau vào.

server {
    # Nginx conf ...

    rewrite ^/index.php/(.*) /$1  permanent;
    if ($request_uri ~* "^(.*/)index.php$") {
        return 301 $1;
    }


    # Nginx conf ...

}

0