10/10/2018, 11:01

Thảo luận về rewrite url

Mình có vấn đề này cần tham khảo ý kiến của các bạn
Mình có file .htaccess
Code:
RewriteEngine on
RewriteRule ^about/$ about.php
RewriteRule ^about/([0-9]*)/(.*).html$ about.php?about_id=$1
Lúc trước mình dùng file này vẫn chạy bình thường
Demo:http://chuvanantn.edu.vn
Nhưng bây giờ chuyển qua Project mới lại ko hiệu quả chút nào. Mong các bạn chỉ giáo giùm.
Thank rất nhiều
Project đang thực hiện:http://vietnamshare.net/demo/ankhanh/
nghientai viết 13:05 ngày 10/10/2018
vì project của bạn đã chuyển vào folder nên bạn phải thêm dòng này vào. và tất cả các links trong website cũng phải có /demo/ankhanh/ thì mới chạy được.

RewriteEngine on
RewriteBase /demo/ankhanh/

thân mến
homelove05 viết 13:12 ngày 10/10/2018
Mình đã thử cách bạn chỉ nhưng vẫn thế.
Code:
RewriteEngine on
RewriteBase /Project/ankhanh/
RewriteRule ^about/$ about.php
RewriteRule ^about/([0-9]*)/(.*).html$ about.php?about_id=$1
Còn link khi chạy là vầy:
Code:
http://localhost/Project/ankhanh/about/12/history-development.html
Nhưng nó không nhận cái $about_id là cái số 12 đấy.
Mong chỉ giáo giúp
saimoto viết 13:09 ngày 10/10/2018
Mìnhh mún chuyển url có dấu '_' thành '-' thì làm sao nhỉ? Vd: http://abc.com/ten_tui/abc/ thành http://abc.com/ten-tui/abc/
yugiohhh viết 13:04 ngày 10/10/2018
Được gửi bởi homelove05
Mình đã thử cách bạn chỉ nhưng vẫn thế.
Code:
RewriteEngine on
RewriteBase /Project/ankhanh/
RewriteRule ^about/$ about.php
RewriteRule ^about/([0-9]*)/(.*).html$ about.php?about_id=$1
Còn link khi chạy là vầy:
Code:
http://localhost/Project/ankhanh/about/12/history-development.html
Nhưng nó không nhận cái $about_id là cái số 12 đấy.
Mong chỉ giáo giúp
Thông thường mình không sử dụng RewriteBase và đặt .htaccess ngang hàng với about.php

Và bạn thử sử dụng đoạn .htaccess sau:
Code:
RewriteEngine On
RewriteRule ^about/$ about.php
RewriteRule ^about/([0-9]+)/(.*).html$ about.php?about_id=$1
Kết quả: http://yuproduction.net/mytests/ddth...velopment.html

===========================================
Được gửi bởi saimoto
Mìnhh mún chuyển url có dấu '_' thành '-' thì làm sao nhỉ? Vd: http://abc.com/ten_tui/abc/ thành http://abc.com/ten-tui/abc/
Bạn dùng đoạn này:
Code:
RewriteEngine On
#RewriteBase /
 
RewriteRule !\.(html|php)$ - [S=4]
RewriteRule ^([^_]*)_([^_]*)_([^_]*)_([^_]*)_(.*)$ $1-$2-$3-$4-$5 [E=uscor:Yes]
RewriteRule ^([^_]*)_([^_]*)_([^_]*)_(.*)$ $1-$2-$3-$4 [E=uscor:Yes]
RewriteRule ^([^_]*)_([^_]*)_(.*)$ $1-$2-$3 [E=uscor:Yes]
RewriteRule ^([^_]*)_(.*)$ $1-$2 [E=uscor:Yes]
 
RewriteCond %{ENV:uscor} ^Yes$
RewriteRule (.*) http://example.com/$1 [R=301,L]
saimoto viết 13:13 ngày 10/10/2018
Được gửi bởi yugiohhh


Bạn dùng đoạn này:
Code:
RewriteEngine On
#RewriteBase /
 
RewriteRule !\.(html|php)$ - [S=4]
RewriteRule ^([^_]*)_([^_]*)_([^_]*)_([^_]*)_(.*)$ $1-$2-$3-$4-$5 [E=uscor:Yes]
RewriteRule ^([^_]*)_([^_]*)_([^_]*)_(.*)$ $1-$2-$3-$4 [E=uscor:Yes]
RewriteRule ^([^_]*)_([^_]*)_(.*)$ $1-$2-$3 [E=uscor:Yes]
RewriteRule ^([^_]*)_(.*)$ $1-$2 [E=uscor:Yes]
 
RewriteCond %{ENV:uscor} ^Yes$
RewriteRule (.*) http://example.com/$1 [R=301,L]
Mình có thử rồi nhưng vẫn ko được, nó báo lỗi
yugiohhh viết 13:09 ngày 10/10/2018
Được gửi bởi saimoto
Mình có thử rồi nhưng vẫn ko được, nó báo lỗi
Cụ thể là lỗi gì vậy bạn?
Bài liên quan
0