PDA

نسخه کامل مشاهده نسخه کامل : ساخت افزونه ی url rewrite برای وی بولتین



Ultimator
23-06-2008, 22:31
:40::40:سلام
يه راست ميريم سر اصل مطلب
ببينيد ميخوايم يه چيزی به وی بولتين اضافه کنيم تا يه آدرس رو ريدايرکت کنه يعنی در حقيقت ری رايت کنه
که چی بشه ؟
که وقتی کسی بره به آدرس

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
به آدرس

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
هدايت بشه
قسمت دومش آسونه قسمت اولش سخت !
قسمت دومش اينه که يه فايلی درخاست رو هندل کنه و اسم وارد شده رو به يوزر آی دی تبديل کنه و ريدايرکت کنه
قسمت اولش اينه که هروقت کسی اسمی رو آخر رکوستش فرستاد اون اسم به فايل دوم پاس داده بشه
من اينو با داتنت به راحتی نوشتم خيلی کار ساده ايه ( اگه کسی لازمش داره بگه ) اما اونو که نميشه رو آپاچی اجرا کرد ، پس اومدم همفکری کنيم تا همچين چيزی بسازيم ..
برای قست دومش ميشه اين :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

البته کد php نيست شبه کده يکی اينو تبديلش کنه ! :31:

پيشاپيش از کمکهاتون تو اين پروجه عظيم ممنونم ..
لطفا و اجبارا پاسخ هاتون کامل باشه ! :21:

مرسی :40::40:
نيما

dogtag
23-06-2008, 23:05
سلام نیما جون
خوبی؟
از این ورا؟

آقا این بهت جواب میده:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در صورتی که قبلش هیچ چیزی print نشده باشه
اگر شده بود باید از کد جاوا اسکریپت یا متا استفاده کنی

جاوا اسکریپتش رو می گم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Ultimator
24-06-2008, 07:28
سلام
خوبم امیر چطوره !
اومدم تاپیکو قفل کنم گفتم قبلش ازش استفاده مفید کنیم ! :31:
نه قربون دستت چیزی قبلش پرینت نمیشه همین هدر خوبه .
حالا اگه قبلش بخوام این $name رو از ته آدرس nima.net/masih بکنم ( !!bekanam ) چی ؟ ! یعنی مسیحش ! دقت کن .php نداره آخرش البته asp.net که مینویسیم میگیم سیستم.آی او....فایل نیم ! ( خط فارسی را پاس بدارید sms پینگلیش گرون شد ! ) و فرقی نمیکنه فایل نیم پسوند داشته باشه یا نه . حالا ببین میتونی کاریش کنی.
این پارت II منتظر بقیش باش ! :31: دو نقطه سی و یک دو نقطه !
ممنون !

dogtag
24-06-2008, 09:12
فکر کنم که اگر این رو بذاری تو یه فایل .htaccess (نقطه اش چپش ه ولی اینجا راست نشون میده!) ، جواب بده:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Ultimator
24-06-2008, 09:29
نه
تو این خط

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
name = %1 چی کارست ؟ میشه گفت این کوئری استرینگ بشه اسم ورودی ؟
راستی من زیاد regex بلد نیستم ! در حد سوم ابتدایی !

dogtag
24-06-2008, 09:33
Regular Expressions ش مال خط بالاییه یعنی هر چیزی رو که بعد از
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید دیدی بگیر و تو متغیر 1% ذخیره اش کن
تو این خط میگه که همون 1% زو بذار تو ادامه ی این:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

حالا بارفتن به nima.net/masih میره به:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Ultimator
24-06-2008, 09:43
آها پس اونجا تو صفحه redirectPage.php از کوئری استرینگ اون سرچ رو انجام میده
فکر کنم کار تموم شد
فقط اون کد بالایی واسه اینکه اجرا بشه چی کم داره ؟
<include config.php >
راستی یه چیزی htaccess. رو تو وین نمیشه استفاده کرد نه ؟ یعنی رو لوکال نمیتونم تست کنم ؟
البته واسه هاست ویندوز اون قسمتشو با net. مینویسم مشکلی نیست همون redirectPage.php مهمه

dogtag
24-06-2008, 09:48
من نمی دونم که تو کدت چه خبره ولی اون کد بالا رو احتمالاً باید اینجوری کنی:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

neopersia
24-06-2008, 10:03
جریان چیه نیما؟ مشکوک میزنی! اومدی سراغ php! :21:


راستی یه چیزی htaccess. رو تو وین نمیشه استفاده کرد نه ؟ یعنی رو لوکال نمیتونم تست کنم ؟

میشه اما اگه آپاچی داشته باشی
با IIS نمیشه از htaccess استفاده کرد چون این فایلها مربوط به تنظیمات آپاچی هست

Ultimator
24-06-2008, 10:17
بالاخره بعد از کلی دیباگینگ فهمیدم اول وآخرش ؟ نذاشتم !:31:
بعدکلی خطایابی های دگر کردیم به این رسیدیم : حد اقل خطا !

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

جریان چیه نیما؟ مشکوک میزنی! اومدی سراغ php!
تخسیر من چیه ویبولتین با php نوشته شده ! 
رو iis از همون دات نتیش استفاده کنم بهتره ! ریدایرکتش کمتره ! 

dogtag
24-06-2008, 10:24
مشکل از (به قول خودت) کانکشن استرینگ ه

شما اون فایل config.php رو include کردی؟

Ultimator
24-06-2008, 10:39
اینو نوشتم - منم میدونم از کانکشن استرینگه ! حالا اینجا نباید کانکشن رو یه کاریش کنیم ؟ یعنی همین کد کافیه ؟ 

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

dogtag
24-06-2008, 10:54
نه عزیزم این کافی نیست
چون VB تو فایل config.php به دیتابیس وصل نمیشه

شما باید اول به DB وصل بشی
یعنی بعد از خط include باید این رو بنویسی

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

که همه ی این فارسی ها رو باید با نام متغیرشون از تو فایل config.php عوض کنی

شرمنده، الان سیستمم یه کم هنگ بازار ه. نمی تونم کد درست و حسابی بدم.

---

اینجا داره بد نشون میده. خط بالایی اینجوریه:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Ultimator
24-06-2008, 13:24
وقتی میگم کامل بنویسین همینه دیگه ! :31: هی فکر میکنم این کانکشن کجا ساخته شده !!
ممنون کار کرد اما ازون ریرایت مطمئن نیستم چون هاستم IIS داره یکی اینو تست کنه
رو لوکال هم تلاشم برای ساختن فایلی بدون اسم تو ویندوز بی نتیجه بود !! ( easy php هم Apache داره دیگه! )
لینوکسی که داشتم هم لایو بود آپاچی نداشت !

-------------
ويرايش :
فايل هيچی دات ه ت اکسس رو با کامند پرامپت ساختم اما چنتا مشکل هست
اینکه نوشتی نيما دات نت نميشه يکاريش کرد عمومی بشه به دامين وابستگی نداشته باشه ؟
آخه رو همين لوکال هرکار کردم نشد ! در هر صورتی ارور پونصد اينترنال سرور ارور ميداد . لطفا و اجبارا کمک کنيد ! :46::40:

dogtag
24-06-2008, 21:58
اگر جواب نداد، نزنی ها، ولی تو اون خط RewriteCond
اون [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] رو با این عوض کن ببین چی میشه

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Ultimator
30-06-2008, 12:29
سلام ..

اصلا نشد ! خطای 500 اينترنال سرور ارور ميده ..
اينم نشد اشکالی نداره واسه هر سايتی تقييرش ميديم .. ميخوام فقط تستش کنم .. قسمت دومش کار ميکنه htaccess هنوز نه .. اصلش همينه ..
:40: ممنونم

neopersia
03-07-2008, 00:45
به جایی رسیدید یا هنوز ارور 500 میده؟
راستش من سعی کردم تاپیکو بخونم تا متوجه بشم چه آدرسی باید به چی تفسیر بشه ولی گیج شدم
اگر یه نمونه از آدرسهایی رو که لازم داری با اونی که میخوای کاربر وارد کنه رو بنویسی شاید من بتونم کمک کنم :)

Ultimator
03-07-2008, 21:51
هنوز همونه که بود
ببين ميدونی ميخوايم چه کنيم ؟ وقتی يه نفر يه آدرسی مينويسه مثل .
p30world/neopersia

به صفحه ی
redirectpage.php?name=neopersia
ريدايرکت بشه به طوری که يه query string هم آخرش اظافه بشه که اينجاشو مسيح يه جورايی حل کرده اما نميدونم چرا ريدايرکت نميشه
فکر کنين ميخوايم هر آدرسی کاربر نوشت بره به همون صفحه .. اوکی ؟

neopersia
04-07-2008, 02:29
من برای سایت خودم از یه چیزی شبیه همین استفاده میکنم. با یه کم تفاوت: کاراکترهای مربوط به مقادیر متغیرها رو محدود کردم و توی آدرس ریرایت شده به جای ؟ از ; استفاده میکنم
اینم کد htaccess ش:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
مثلاً این آدرس:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
توی سرور تفسیر میشه به این:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

البته اگر میخوای به جای ریرایت کاربر ریدایرکت بشه میتونی از دایرکتیو RedirectMatch استفاده کنی

Ultimator
04-07-2008, 02:48
من که نمیدونم چی میگی !:31: اما این چیزی که گفتم با کدوم انجام میشه ؟ یجوری راش بنداز که بشه تست کرد و جواب بده ! 
مرسی :40:  --- به جون این نیما انقده مساله آسونه که نگو ! 

neopersia
04-07-2008, 02:54
این کدو ببین:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

تا اینجا که مشکلی نیست. درسته؟

Ultimator
25-10-2008, 01:15
میگم یاسر فکر کنم کار تمومه فقط یه تست میخواد .. اپیچ داری دیگه حتما یه تست کن ببین کار میکنه 

dogtag
25-10-2008, 12:24
قضیه چیه نیما؟
بده ما هم تست کنیم.

Ultimator
09-02-2009, 21:02
سلام  ! 

آخرین پست این تاپیک مربوط به 108 روز قبل است و جزو تاپیک های قدیمی انجمن محسوب میشود!

برو بذار به کارمون برسیم ! :دی 


بچه ها الان رسما تست کردم 
htaccess. کار نمیکنه 


وقتی مینویسم site.com/nima
ارور 404 میده انگار نه انگار باید ریدایرکت شه ! 

neopersia
10-02-2009, 04:40
اینم یه تست بگن:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
با کد بالا میشه آدرس site.com/nima.html میشه معادل site.com/user.php?name=nima

هر چی بهش ور رفتم نشد اون .html رو بردارم حالا بازم ادامه میدم شاید نتیجه داد!

راستی اگه کار نکرد اون ^ رو حذف کن یا به جاش بزار :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Ultimator
10-02-2009, 17:13
یاسر جان تا اینجاش کار میکنه  ! 
 
 
نفهمیدم دو تا کدی که گذاشتی کجاش فرق میکرد !؟ :دی 


راسی این روش رو هم چک کردم که اگه بنویسی nima باید nima/index.php  رو باز کنه دیگه . اما با nima خالی کارنکرد حتما /index.php آخرش رو باید میزدیم تا ریرایت رولش کار کنه 

neopersia
10-02-2009, 20:10
فرقشون تو یه دونه اسلش بود! به خاطر تفاوت ویندوز و لینوکس فکر کنم این اسلشه فرق داره چون من قبلاً تو سرور با اسلش کارکرده بودم جواب میداد ولی الان تو لوکال جواب نمیداد!

اون index.php که نیازی به ریرایت شدن نداره! یه باید پیشفرض باشه دیگه! اگرم نیست اینو بزار تو htaccess باید درست بشه (البته اگه با دیرایتی که نوشتی تداخل پیدا نکنه!)

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Ultimator
10-02-2009, 21:40
نه نه هیچی زدم خرابکاری شد تو هر سابدایراکتوری که میرفتیم ریدایرکت میکرد :دی 

neopersia
10-02-2009, 22:47
میگم اینی که گذاشتی چرا ریدایرکت میشه؟ قاعدتاً نباید ریدایرکت کنه ها! یعنی باید تو همون آدرس بار نوشته باشه site.com/yaser.html صفحه رو هم درست نشون بده! اصلاً قشنگیش به همینه دیگه!

Ultimator
11-02-2009, 01:28
خب اون یوزر پی اچ پی توش ریدایرکت میشه کاریش هم نمشه کرد چون باید resolve بشه این اسم به یه آی دی تو اچ تی اکسس که نمیشه از دی بی اطلاعات گرفت ! میشه ؟ :دی 

neopersia
11-02-2009, 03:04
نه خوب با htaccess که نمیشه! حالا نمیشد این اسمه تو همون members.php ریسولو بشه؟
یا اینکه کلاً کوئری همون members.php رو یه جوری تغییر بدی که به جای آی دی کاربر نام کاربری رو بگیره؟

Ultimator
11-02-2009, 14:25
خب اینم میشه ! اما خب فک میکنی اینو به کسی بدی فایلشو اور رایت میکنه ؟ :دی

neopersia
11-02-2009, 14:35
میگم میخوای اون قسمت رو برام بفرست ببینم چطوری کار کردن. اگه نپیچونده باشن کار سختی نیس! منم تا جالا سورس وی بی ندیدم همپین یه نمونه کنجکاویم گل کرده :31:

Ultimator
11-02-2009, 14:55
اینه ! :دی

البته یکم سنگین نوشته شده نگرفتی بگو توضیح بدم !


اینو نوشتم - منم میدونم از کانکشن استرینگه ! حالا اینجا نباید کانکشن رو یه کاریش کنیم ؟ یعنی همین کد کافیه ؟ 

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

neopersia
11-02-2009, 17:41
نه منظروم این نبود! این که همون صفحه user.php هست.
من همون قسمتی رو میگفتم که اطلاعات کاربری رو با userid از دیتابیس استخراج میکنه! تو اسکرپت members.php حالا شایدم مستقیم توی همون صفحه کوئری رو انجام نده! یعنی یه کلاسی چیزی داشته باشه که کوئری رو بفرسته و نتیجه رو نشون بده!