2013-01-12 31 views
5

Trong .htaccess của tôi Tôi có quy tắc viết lại có giá trị $_GET từ một url tìm kiếm rõ ràng. Đối với một trong các phần trong url, tôi cho phép tất cả các ký tự (.*) là một phần của var. Vấn đề duy nhất với điều này là khi tôi theo một liên kết đến trang web của tôi từ twitter, nó bao gồm một '/' cuối cùng trong url.Mod Rewrite - Cụm từ thông dụng để bao gồm mọi thứ nhưng cắt giảm

RewriteRule ^advertise/([A-Za-z0-9]+)/(.*)/?$ advertise/?a=b&content=$1&content_att=$2 [L] 

www.mysite.com/advertise/content/content_att công trình tốt
- nhưng
www.mysite.com/advertise/content/content_att/ trys bao gồm cả '/' như một phần của content_att var. Biểu thức sẽ chỉ để loại trừ dấu gạch chéo là gì? (Hoặc bất kỳ ước mod_rewrite khác để thực hiện điều này)

+1

Đã chỉnh sửa - đó là các dấu gạch chéo '/' không gạch chéo \ –

+0

Cảm ơn bạn đã sửa lỗi đó. – iRector

Trả lời

6

[^/] sẽ bao gồm bất kỳ ký tự trừ /
[^/]* sẽ bao gồm bất kỳ số lượng ký tự không /

Trong hành động sẽ giống như sau:

RewriteRule ^advertise/([A-Za-z0-9]+)/([^/]+)/?$ advertise/?a=b&content=$1&content_att=$2 [L] 
+1

Bạn nói đúng. phải là '+'. Tôi thấy bạn về cơ bản cùng một câu trả lời, ngoại trừ nó là trước tôi. Vì vậy, hãy cập nhật câu trả lời của bạn với toàn bộ quy tắc viết lại và tôi sẽ xóa bài viết của tôi. –

+0

Cảm ơn các bạn đã giúp đỡ – iRector

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