14

Tôi không tìm cách xóa index.html khỏi url, vì điều này trông thực sự xấu xí.Cách xóa index.html khỏi url trên trang web dựa trên angularjs

mydomain.com/index.html#/myview1 
mydomain.com/index.html#/myview2 

Có cách nào để xóa phần đó, như url đó sẽ rõ ràng đến nơi người dùng đang ở đó không.

mydomain.com/myview1 
mydomain.com/myview2 

Tnx trước cho thời gian của bạn.

Edit: Tôi chỉ tìm cách mà nó có thể làm việc như:

mydomain.com/#/myview1 
mydomain.com/#/myview2 

đó là khá nhiều hơn sau đó với index.html.

Nhưng vẫn còn nếu có cách để giải pháp ngắn hơn cho tôi biết.

+3

Bạn đã làm cách nào để xóa 'index.html' khỏi url? – Alavaros

+0

Đọc chỉnh sửa Alavaros. – Pnct

+1

@Pnct cách bạn xóa index.html như bạn đã đề cập trong chỉnh sửa của mình? – anvarik

Trả lời

3

Có lẽ phương pháp này có thể giúp:

Thêm $locationProvider.hashPrefix();, mà loại bỏ index.html trong URL của bạn, trong cấu hình app.js của bạn. Đừng quên thêm phụ thuộc mới. Sau đó app.js của bạn có thể trông giống như thế này:

angular.module('myApp', [ 
    'ngRoute' 
]). 
config(['$locationProvider', '$routeProvider', function($locationProvider, $routeProvider) { 
    $locationProvider.hashPrefix(); // Removes index.html in URL 

    $routeProvider.otherwise({redirectTo: '/someroute'}); 
}]); 

Lưu ý rằng điều này không xóa thẻ bắt đầu bằng #. Bạn có thể tìm tuyến đường mới của mình tại: .../app/#/someroute

2

Bạn sẽ phải thực hiện một số công việc ở phía máy chủ để thiết lập điều này. html5mode giúp bạn trở thành một phần của con đường, nhưng ngay sau khi người dùng làm mới, tham chiếu đến tệp sẽ bị sai. Bạn muốn liên kết liên tục và có thể được chia sẻ, có lẽ là. Về cơ bản, hãy đảm bảo mọi yêu cầu url.com/myapp/{etc} (hoặc bất kỳ thứ gì) được chuyển hướng đến index.html và cho phép ứng dụng góc của bạn sắp xếp định tuyến.

Các vấn đề liên quan