Làm cách nào để xóa 'index.php' khỏi URL?


Câu trả lời:


17

Bạn có thể làm điều đó bằng cách bật URL SEF và đặc biệt là tham số "Sử dụng viết lại URL" trong cấu hình toàn cầu Joomla.

Xin lưu ý rằng điều này sẽ tạo ra lỗi máy chủ nội bộ nếu bạn không tạo .htaccesstệp trước khi bật tùy chọn.

Có một trang tài liệu giải thích những bước cần thiết để có được những URL đẹp đó. Hãy xem tại đây: http : //docs.j Joomla.org/Eneac_Search_Engine_Friendly_(SEF)_URLs

Về cơ bản, bạn phải đổi tên htaccess.txttệp được tìm thấy trong thư mục gốc Joomla của bạn. Tùy thuộc vào hoster của bạn, các bước bổ sung là cần thiết.


OK, tôi sẽ thử. Có một điều hơi kỳ lạ là Joomla không tự tạo mã như bây giờ tôi nghĩ về nó. Tôi nghĩ rằng tôi đã thử tùy chọn đó và nó đã thực sự sụp đổ.
Connersz

1
Đó chính xác là lý do tại sao Joomla không tự tạo mã. Nó phụ thuộc rất nhiều vào máy chủ lưu trữ và chúng tôi không muốn phá vỡ hoàn toàn trang web của bạn bằng cách bật một tính năng :)
Bakual

4

Bạn có thể thêm mã này vào đầu index.php của Joomla:

if(strcmp($_SERVER['REQUEST_URI'], '/index.php') == 0 && $_SERVER['QUERY_STRING'] == ''){
    header("HTTP/1.1 301 Moved Permanently");
    header('Location: /');
    exit;
}

Mặc dù vậy, hãy cẩn thận, nếu bạn thực hiện phương pháp này, bạn sẽ cần làm lại phương pháp này khi nâng cấp.


Tôi khuyên bạn nên làm điều này như một hack tùy chọn nếu chuyển hướng và ReWrite không hoạt động trong htaccess. Vì vậy, một sự trở lại hợp lệ
tristanbailey

đã đồng ý. đó thực sự là cách chúng tôi có được giải pháp này. Chúng tôi không thể sửa lỗi htaccess để hoạt động đúng trang web
ContextSwitch

4
  1. Đã thay đổi htaccess.txt thành .htaccess
  2. Trang web> Cấu hình toàn cầu: Sử dụng viết lại URL (Chọn Có)
  3. Cài đặt SEO URL thân thiện với công cụ tìm kiếm (Chọn có)

2

Đây là một phương pháp chung nếu trang web của bạn gặp sự cố khi sử dụng .htaccess:

  • Bạn nên bình luận một hoặc cả hai dòng này:

Tùy chọn + FollowSymLinks

và / hoặc,

RewriteBase /

Điều này sẽ làm việc tốt! Lưu ý: bạn thực hiện nhận xét bằng cách đưa ra hashtag cho dòng "#"


1

Nếu bạn đang sử dụng máy chủ web nginx , thì bạn có thể sử dụng đoạn mã sau cho nginx.conftệp cấu hình nơi Joomla của bạn! trang web được phục vụ từ (về cơ bản, chỉ cần thêm điều kiện if sau bất kỳ dòng hiện có nơi lệnh index index.phpxuất hiện).

#/programming//a/38165768/remove-index-php-from-joomla-urls-with-nginx
index index.php index.html index.htm;
if ($request_uri ~ "^/(.*)(?<=/)index\.php/?((?<=/).*)?$") {    return  301 /$1$2;  }

Thông tin chi tiết có tại /programming/28997028/remove-index-php-from-j Joomla-urls-with-nginx /8165768 # 38165768 .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.