Như nhiều người khác, tôi đang gặp vấn đề với việc thực hiện một số mod_rewriting rất đơn giản trong apache.Mod viết lại vấn đề
Tôi có sau trong .htaccess của tôi:
Options +FollowSymLinks
RewriteEngine on
RewriteBase/
RewriteRule ^view/([0-9]+)/([0-9]+)$ view.php?advertId=$1&publisherId=$2 [NC,QSA,L]
nào là nghĩa vụ phải dịch/xem/4093/203 qs = val -> /view.php?advertId=4093 & publisherId = 203? qs = val
Bây giờ, nó hoạt động khi gọi nó bằng/Xem ..., nhưng khi làm chữ thường/xem, nó chuyển hướng đến đúng tệp, nhưng advertId và publisherId không được đặt trong tập lệnh PHP của tôi cái nhìn đầu tiên-chữ hoa và tôi chỉ đơn giản là không có đầu mối nào với những gì đang xảy ra trên mặt trận đó (tôi đã thử nghiệm và xem hành vi đó đơn giản bằng cách thực hiện trên v của tôi iew.php).
Bất kỳ ai biết tại sao điều này xảy ra?
tôi có thể muốn thêm, thông tin máy chủ của tôi là như sau:
Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny2 with Suhosin-Patch mod_python/3.3.1 Python/2.5.2 mod_perl/2.0.4 Perl/v5.10.0
IE. một cài đặt debian mới có sẵn với gói debian mặc định + php-mssql.
Đẫm máu rực rỡ! Tôi có thể hỏi làm thế nào và tại sao mặc dù? – kastermester
'MultiViews' là một tính năng cốt lõi đang được thực thi trước mod_rewrite. Khi 'MultiViews' được bật, Apache đang cố gắng tìm một tên tệp tương tự để đường dẫn yêu cầu có thể được ánh xạ. Vì vậy, '/ view /…' của bạn được ánh xạ tới '/ view.php /…' và sau đó được truyền cho mod_rewrite, sau đó không thể tìm thấy một kết quả phù hợp. – Gumbo
Ah ok, cũng cảm ơn một tấn cho sự giúp đỡ, đã cho tôi rất nhiều nỗ lực cố gắng để mess xung quanh với việc viết lại, mà rõ ràng là không giúp gì cả - giúp đỡ của bạn được nhiều đánh giá cao! :) – kastermester