Tôi đang gặp khó khăn với .htaccess. Tôi muốn tạo URL thân thiện cho một trang web tôi đang làm việc trên ...Làm cách nào để tạo URL thân thiện với .htaccess?
Về cơ bản tôi muốn chuyển đổi này:
http://website.com/index.php?ctrl=pelicula&id=0221889
http://website.com/index.php?ctrl=pelicula&id=0160399&tab=posters
Into này:
http://website.com/pelicula/0221889/
http://website.com/pelicula/0221889/posters/
Trong trường hợp tôi cần nó sau này tôi cũng muốn biết cách thêm tiêu đề bài viết vào cuối URL như thế này (Tôi đang sử dụng PHP):
http://website.com/pelicula/0221889/the-article-name/
http://website.com/pelicula/0221889/the-article-name/posters/
Không e: Phương pháp Stackoverflow cũng tốt cho tôi, ví dụ url của câu hỏi này là:
http://stackoverflow.com/questions/3033407/htacces-to-create-friendly-urls-help-needed
Nhưng bạn có thể đặt bất kỳ thứ gì sau id và nó cũng sẽ hoạt động. như thế này:
http://stackoverflow.com/questions/3033407/just-anything-i-want
Tôi đã sử dụng một số công cụ web tự động để tạo tệp .htacces nhưng không hoạt động chính xác. Vì vậy, tôi yêu cầu sự giúp đỡ của bạn.
tôi cũng sẽ vui mừng nếu bạn có thể giới thiệu .htacces thực hành tốt nhất và khuyến nghị ..
EDIT: dựa trên số câu trả lời tôi nhận được ở đây tôi đặt này:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/([^/]+)/([^/]+)/?([^/]*)/?$ index.php?ctrl=$1&id=$2&tab=$3 [QSA,L]
</IfModule>
Nhưng tôi nhận được lỗi máy chủ lưu trữ mặc định 'không tìm thấy'.
Tôi cũng đã cố gắng:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/(\d+)/([^/]+)/?$ index.php?ctrl=$1&id=$2&tab=$3 [QSA,L]
RewriteRule ^([^/]+)/(\d+)/?$ index.php?ctrl=$1&id=$2 [QSA,L]
RewriteRule ^([^/]+)/?$ index.php?ctrl=$1 [QSA,L]
</IfModule>
này cũng không hoạt động. Nó đưa tôi đến trang 404.php mặc định của tôi.
mod_rewrite được bật và hoạt động.
Trợ giúp!
http://stackoverflow.com/questions/2569725/getting-two-variables-in-the-url-with-htaccess/2569734#2569734 http://stackoverflow.com/questions/2088804/htaccess- nhầm lẫn-làm sạch-url/2088854 # 2088854 http://stackoverflow.com/questions/2549408/needs-some-help-with-an-apache-mod-rewrite-issue/2549688#2549688 ... –
Để xem nội dung của bạn Các URL đang được viết lại, thử lặp lại $ _GET ở đầu index.php hoặc sử dụng nhật ký viết lại để gỡ lỗi. http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritelog – cam8001
Bạn có thực sự chắc chắn rằng việc viết lại đang hoạt động đúng không? Tôi đã có cùng một vấn đề một lần với cấu hình cấu hình apache cấu hình xấu. http://www.webune.com/forums/how-to-test-check-if-mod-rewrite-is-enabled-t40.html thực sự đã giúp tôi – DrColossos