2011-08-26 30 views
5

Tôi có .htaccess RewriteRules, không hoạt động.Vấn đề với .htaccess RewriteRules

RewriteRule ^(.+)\/(.+)\/$ /index.php?pg=$1&act=$2 

Mã này nên làm gì, là transofrm /somthing/other/ vào /index.php?pg=somthing&act=other.

Thực hiện một số kiểm tra, tôi đã phát hiện ra rằng biến số pg không được chuyển.

Tôi có một dòng khác như thế này, RewriteRule ^(.+)\/$ /index.php?pg=$1 nó hoạt động! Vì vậy, tôi không biết tại sao người đầu tiên không làm việc !!

Trả lời

3

Nếu bạn không cần phải sử dụng bất kỳ ký tự khác hơn là một-z và 0-9 tôi khuyên bạn nên sử dụng này:

RewriteRule ^([a-z0-9-]+)/([a-z0-9-]+)$ /index.php?pg=$1&act=$2

Nó sẽ làm việc.

+0

Tôi không phải là chuyên gia về Cụm từ thông dụng, nhưng, là gì? cuối cùng? – Alberto

+0

Vẫn không hoạt động: ( – Alberto

+0

Tôi cũng vậy, nhưng đây là cách tôi luôn viết .htaccess. Nó cũng làm việc cho tôi và của bạn: 'RewriteRule^(. +) \/(. +) \ /? $/Index .php? pg = $ 1 & action = $ 2', với dấu chấm hỏi – Daniel