استفاده از dash ( - ) در RewriteRule

justpersian

Member
سلام .
کد زیر آدرس رو به این صورت تبدیل می کنه :
www.test.com/users/username
PHP:
RewriteRule ^users/([0-9A-Za-z]+)?$ /users/index.php?username=$1 [L]
حالا اگه نام کاربری طرف مثلا به صورت زیر باشه سایت خطای 404 not found میده :
www.test.com/users/user-name
یعنی اگه یک - تو نام کاربری گذاشته بشه RewriteRule دچار اشکال میشه
حالا چه کار کنیم که dash ( - ) تو RewriteRule شناسایی بشه ؟
ممنون
موفق باشید
 
تا جایی که من اطلاع دارم به جای L باید nc میذاشتیم. البته من جایی ندیدم که L بذارند و خودمم زیاد در این مورد اطلاع ندارم.:)
 

Domanjiri

Well-Known Member
سلام..

دوست عزيز شما خودتون اينجا
PHP:
([0-9A-Za-z]+)
مشخص كردين كه فقط اعداد و حروف رو بخونه .پس بهتره به جاي اون اين عبارت رو وارد كنيد :
PHP:
([^/]+)

البته با اين كار تمامي كاراكتر ها مي تونن به برنامتون تزريق بشن . پس بهتره به فكر امنيت برنامه هم باشين.

موفق باشيد.
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا