Ehsaan 1865 ارسال شده در تیر 94 گزارش بازنشر ارسال شده در تیر 94 آموزش ساخت Pretty URLsدر این مقاله کوتاه قصد دارم نحوه ساختن URLهای زیبا (Pretty URLs) رو برای یه برنامه PHP خدمت شما دوستان عزیز توضیح بدم.مزایای استفاده از Pretty URLs:سئوی بهتراگه به هر دلیلی مجبور شدید اسم یه فایل رو توی یه اپلیکیشن تغییر بدید، با این روش دیگه نیازی به عوض کردن URLها در چندین فایل ندارین، فقط در فایل htaccess اونو تغییر میدین.باعث میشه تا کاربرای متوسط راحتتر به متحوای سایت شما (فقط با تایپ کردن URL) دسترسی داشته باشن.در کدنویسی PHP، شما میتونید تا 50% خیال خودتون رو از SQLI و ولیدیشن دیتا راحت کنید.دقت کنین که این آموزش برای اسکریپتهای PHP هست و نه وردپرس و سیستمهای مشابه آماده.نکته دیگه هم اینه که این آموزش فقط روی وبسرورهای Apache و وبسرورهایی که از htaccess ساپورت میکنن، جواب میده؛ علاوه بر این، سرور باید اجازه استفاده از ماژول Rewrite رو به شما بده. برای غیر از وبسرورهای Apache-Based، راهحلهای دیگه هست که انشاءالله در فرصت مناسبی اونا رو هم توضیح میدم.برای شروع کار، میریم سراغ سادهتر نمونه، مثلاً شما صفحهای دارید که با این URL قابل دسترسی هست:http://site.com/aboutus.phpسادهترین روش برای زیباکردن این URL، نوشتن یه رول ساده هست، البته فراموش نکنید که اول باید موتور Rewrite رو روشن کرد.RewriteEngine onRewriteRule aboutus aboutus.phpبعد از روشنکردن موتور، ابتدا باید عبارت RewriteRule رو بنویسیم که مشخص کنیم که در حال نوشتن یه عبارت Rewrite هستیم. بعد از اون؛ چیزی رو که میخوایم بهش تبدیل بشه رو مینویسیم و سپس بعد از اون با یه فاصله، اسم فایل اصلی و حقیقی رو مینویسیم.میبینید که خیلی راحت میشه با استفادهکردن از این کد در فایل .htaccess، یه URL ساده رو زیباتر کنیم. حالا این صفحه از طریق URL زیر هم قابلدسترس خواهد بود:http://site.com/aboutusاما نمونه پیچیدهتر:http://site.com/view.php?id=#صورت مسئله به ما میگه که به جای # یه عدد قرار میگیره و ما قصد داریم این URL رو به شکل زیر زیباسازی کنیم:http://site.com/view/#در این صورت استفاده از روش قبل، به هیچعنوان پاسخگوی ما نیست، چون # میتونه مقداری متغیری باشه و روش قبل، صرفاً برای URLهایی به کار میرفت که کاملاً ثابت باشن.در این صورت، ما باید از Regular Expressions استفاده کنیم [اگه نمیدونین چی هستن، به این پست مراجعه کنید.]همونطور که میدونیم # عدد هست و نمیتونه کاراکتر باشه.قبل از نوشتن دستور htaccess، اول عبارت منطقی رو مینویسیم.^view/([0-9]+)?$توضیح: ^ نماد شروع عبارت و $ نماد پایانیه. بعد از اون view/ رو مینویسیم. بعد از اون، ما عبارت ([0-9]+) رو داریم که یه عبارت شرطیه. ) و ( نشوندهنده یه عبارت منسجم هست که یعنی کلمات داخل این عبارت، کاری با بقیه ندارن). سپس یه مجموعه تعریف میکنیم: [0-9] یعنی هر کاراکتر از 0 تا 9 رو شامل بشه. کاراکتر + یعنی از این مجموعه، یکی یا بیشتر داشته باشیم.کاراکتر ? در پایان هم به معنی URLبودن شرط ماست.حالا شرط رو به RewriteRule میاریم.RewriteRule ^view/([0-9]+)?$ view.php?id=$1$1 به معنای جایگزینی این عبارت ($1) با اولین نتیجه شرط عبارتمون هست. مثلاً اگه یوزر به URL زیر بره:http://site.com/view/1به جای $1، اسکریپت PHP ما مقدار 1 رو دریافت میکنه.به همین سادگی! شما حالا میتونید با این روش Pretty URL بسازید.مثال دیگهURL کنونی:http://site.php/users.php?id=#∂=$به جای # عدد (شماره کاربر) و به جای $ یک رشته (قسمت موردنظر) قرار میگیرد.هدف:http://site.com/users/#/$عبارت:RewriteRule ^users/([0-9]+)/(.+)?$ users.php?id=$1∂=$2لزوماً ما مجبور به استفاده از یک شرط نیستیم و میتوانیم چندین شرط دیگر را وارد کنیم. برای تعیین مسیر فایل واقعی، از $x استفاده میکنیم که x از 1 آغاز میشود و به ترتیب تعریف شرطها از چپ، افزایش مییابد. برای مثال در عبارت بالا، شرط عددی چون اول تعریف شده $1 و شرط حروف چون بعد از آن تعریف شده، $2 را در اختیار دارد.--------------------------------مثالهای بیشتر رو خود دوستان بزنن!موفق باشید. 12 نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .