Hướng dẫn htaccess remove index html from url - htaccess loại bỏ chỉ mục html khỏi url

Tôi đã cung cấp một số thông tin về môi trường trang web của mình

  1. Tôi có trang web tĩnh trong gốc.

  2. WordPress được cài đặt trong từ điển www.domain.com/blog/

  3. Tôi có hai .htaccess, một trong gốc và một trong thư mục WordPress.

tôi muốn

  • www để không trên tất cả các url domain.tld/file/

    domain.tld/wordpress/post-name >> domain.tld/wordpress/post-name/

    Mã của tôi trong root htaccess là

         
        Options +FollowSymLinks -MultiViews
    
    
        RewriteEngine On 
        RewriteBase /
    
        #removing trailing slash
        RewriteCond %{REQUEST_FILENAME} !-d     
        RewriteRule ^[.*]/$ $1 [R=301,L]
    
        #www to non
        RewriteCond %{HTTP_HOST} ^www\.[[[a-z0-9_]+\.]?domain\.com]$ [NC]
        RewriteRule .? //%1%{REQUEST_URI} [R=301,L]
    
        #html
        RewriteCond %{REQUEST_FILENAME} !-f 
        RewriteCond %{REQUEST_FILENAME} !-d 
        RewriteRule ^[[^\.]+]$ $1.html [NC,L]
    
        #index redirect 
        RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/ 
        RewriteRule ^index\.html$ //domain.com/ [R=301,L]
        RewriteCond %{THE_REQUEST} \.html 
        RewriteRule ^[.*]\.html$ /$1 [R=301,L] 
         
    
        
        RewriteEngine on
        RewriteBase /blog/
        # Force Trailing Slash for wordpress
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^[.*][^/]{1}$ %{REQUEST_URI}/ [L,R=301]
         
    

    Mã trên làm

    1. chuyển hướng www sang không phải www
    2. Loại bỏ dấu gạch chéo ở cuối [nếu tồn tại]
    3. Hủy bỏ Index.html
    4. Loại bỏ tất cả .html
    5. Chuyển hướng 301 sang FileName mà không bị chém ở cuối
    6. Lực lượng chém kéo cho WordPress và chuyển hướng 301 từ Slash không theo dõi ở cuối

    CHỈNH SỬA

    #removing trailing slash Rule usage
    

    121029

    Nó khá dễ dàng để loại bỏ index.html khỏi một url với mod_rewrite. Giả sử chúng tôi muốn chuyển hướng www.dense13.com/index.html sang www.dense13.com:

    RewriteEngine On
    RewriteRule ^index\.html$ / [R=301,L]

    Đây là một lời giải thích ngắn gọn, nếu bạn không quen thuộc với .htaccess cú pháp:

    • Chỉ thị viết lại có ba phần, một mẫu [^index \ .html $], một sự thay thế [/] và tùy chọn một số sửa đổi [[r = 301, l]].
    • Trong mẫu: Biểu tượng ^ có nghĩa là "bắt đầu với" và biểu tượng $ có nghĩa là "kết thúc bằng". Ngoài ra, dấu gạch chéo ngược là nhân vật thoát, và chúng ta cần đặt nó trước dấu chấm, bởi vì dấu chấm thường có ý nghĩa đặc biệt và chúng ta không muốn điều đó ở đây. Vì vậy, trong trường hợp này, mẫu sẽ chỉ khớp với chuỗi "index.html".
    • Nếu mẫu được tìm thấy [nghĩa là, nếu yêu cầu là index.html], nó sẽ được chuyển hướng đến "/", đó là gốc của trang web của bạn.

    Luôn loại bỏ index.html

    Điều gì sẽ xảy ra nếu bạn muốn luôn loại bỏ index.html? Ví dụ: www.dense13.com/music/index.html -> www.dense13.com/music/. Dễ!

    RewriteEngine On
    RewriteRule ^index\.html$ / [R=301,L]
    RewriteRule ^[.*]/index\.html$ /$1/ [R=301,L]

    Quy tắc Viết lại thứ hai kiểm tra bất kỳ yêu cầu nào kết thúc bằng /index.html và xóa bit index.html. Một lần nữa, giải thích nhanh về quy tắc viết lại thứ hai:

    • [.*] - Điều này có nghĩa là 'bất cứ điều gì'. Dấu chấm có nghĩa là 1 ký tự và dấu hoa thị có nghĩa là "không hoặc nhiều hơn". Vì vậy, "số không hoặc nhiều ký tự". Chúng tôi đặt điều này giữa các dấu ngoặc đơn vì chúng tôi cần điều này trong sự thay thế [tiếp tục đọc].
    • Trong sự thay thế, $ 1 có nghĩa là "bất cứ điều gì giữa dấu ngoặc đơn trong mẫu", đó là bất cứ điều gì trước /index.html.

    Sắp xếp! Bạn có thể cần ít điều chỉnh nếu bạn có nhu cầu cụ thể hơn, nhưng hy vọng điều này mang lại cho bạn một điểm khởi đầu tốt.

    Đăng trong: English, Web, .htaccess English, Web, .htaccess

    Bạn có thể theo dõi bất kỳ câu trả lời nào cho mục nhập này thông qua nguồn cấp dữ liệu RSS 2.0. Cả hai nhận xét và ping hiện đang bị đóng.

    Theo mặc định, các trang web dựa trên PHP thêm index.php vào tên miền trong URL. Thật khó để nhớ bao gồm nó trong mỗi URL trên trang web của bạn và cũng tiết lộ công nghệ của bạn cho các tin tặc tiềm năng. Vì vậy, trong bài viết này, chúng tôi sẽ xem xét cách xóa index.php khỏi url bằng cách sử dụng .htaccess. Bạn có thể sử dụng các bước này để xóa index.php khỏi codeigniter.

    Dưới đây là các bước để xóa index.php khỏi url bằng cách sử dụng .htaccess.

    1. Kích hoạt mod_rewrite

    Nếu bạn đã bật mod_rewrite trên máy chủ Apache của mình, bạn có thể bỏ qua bước này. Khác mở thiết bị đầu cuối và chạy các lệnh sau để bật mod_rewrite trong các hệ thống Ubuntu/Debian.

    $ sudo a2enmod rewrite

    Chỉ cần một lệnh để kích hoạt mod_rewrite trong các hệ thống Ubuntu/Debian.

    Đối với các hệ thống centos/rhel/fedora, mở tệp cấu hình Apache

    $ sudo vi /etc/apache2/httpd.conf

    Tìm dòng sau

    #LoadModule rewrite_module modules/mod_rewrite.so

    Giải phóng nó bằng cách loại bỏ # khi bắt đầu

    LoadModule rewrite_module modules/mod_rewrite.so

    Nếu bạn không tìm thấy dòng trên, chỉ cần thêm nó vào tệp cấu hình.

    Tìm kiếm phần sau và thay đổi Chỉ thị cho phép từ không thành tất cả.

    . . .
    
    . . .
     # 
     # AllowOverride controls what directives may be placed in .htaccess files.
     # It can be "All", "None", or any combination of the keywords:
     # Options FileInfo AuthConfig Limit
     #
     AllowOverride All
    . . .
    
    . . .

    Cũng đọc: Vị trí tệp cấu hình Apache

    2. Tạo tệp .htaccess

    Tạo tệp .htaccess trống tại trang web của bạn root/var/www/html

    $ sudo vi /var/www/html/.htaccess

    Xin lưu ý rằng bạn cần thêm một dấu chấm [.] Trong .htaccess Tên tệp.

    Cũng đọc: Cách sửa chữa không thể xác định một cách đáng tin cậy máy chủ tên miền đủ điều kiện

    3. Cập nhật .htaccess Cấu hình

    Thêm các dòng sau vào tệp .htaccess của bạn.

    #removing trailing slash Rule usage
    
    0

    Lưu và đóng tập tin. Xóa tệp index.php khỏi/var/www/html.

    Chúng ta hãy xem xét cấu hình trên. %{Request_filename} có phần URL sau tên miền của bạn. Ba dòng tiếp theo về cơ bản kiểm tra xem URL được yêu cầu không phải là tệp thông thường [-F] và không phải là thư mục [-D] sau đó viết lại URL không bao gồm index.php từ nó.

    Cũng đọc: Cách chuyển hướng HTTP sang HTTPS trên cổng tùy chỉnh trong Apache

    4. Khởi động lại máy chủ Apache

    Khởi động lại máy chủ web Apache để áp dụng các thay đổi.

    #removing trailing slash Rule usage
    
    1

    Trình duyệt mở và truy cập //your-domain.com/index.php và nó sẽ tự động chuyển hướng đến //your-domain.com.

    Đó là nó. Bây giờ bạn không cần phải bao gồm index.php trong các URL được yêu cầu vào trang web của bạn. Ngoài ra, nếu bất cứ ai vô tình bao gồm index.php trong URL được yêu cầu, nó sẽ được tự động xóa.

    Cũng đọc: Cách các tệp rsync giữa hai máy chủ

    Bài viết liên quan:

    Làm cách nào để loại bỏ .html khỏi url?

    Tiện ích mở rộng HTML có thể dễ dàng xóa bằng cách chỉnh sửa tệp .htaccess.editing the . htaccess file.

    Bạn có thể xóa chỉ mục html không?

    Nói chung, bạn có thể xóa các tệp index.html đó nhưng bạn cần chắc chắn rằng chỉ mục thư mục bị tắt trong cấu hình máy chủ web của bạn.Những chỉ số.Các tệp HTML trong Codeigniter Ngăn chặn [trong mọi trường hợp] Danh sách thư mục có thể dẫn đến luồng bảo mật nghiêm trọng.You can remove those index. html files but you need to be sure that directory index is disabled in you web server configuration. Those index. html files in CodeIgniter prevent [in any case] directory listing wich can lead to serious security flow.

    Làm thế nào để xóa chỉ mục PHP khỏi URL bằng HTACCESS?

    Cách xóa chỉ mục ...
    Tạo tệp .htaccess ..
    Xóa tệp index.php ..
    Bật chế độ Apache viết lại ..
    Khởi động lại Apache ..

    Làm cách nào để loại bỏ chỉ mục PHP khỏi URL?

    Để loại bỏ chỉ mục trên mạng.PHP từ URL của trang web của bạn, trước tiên bạn sẽ cần đảm bảo rằng máy chủ của bạn được thiết lập để vượt qua các yêu cầu 404 sẽ tắt tệp index.php của Craft.php phía sau hậu trường.Nếu bạn đang chạy Apache, bạn có thể làm điều đó bằng cách tạo chuyển hướng trong trang web của bạn.make sure your server is set up to pass would-be 404 requests off to Craft's index. php file behind the scenes. If you're running Apache, you can do that by creating a redirect in your site's .

Bài Viết Liên Quan

Chủ Đề