نحوه استفاده از Htaccess RewriteRule برای سئو و سرعت بهتر

اگر می خواهید همه درخواست ها را از یک URL خاص یا مجموعه ای از URL ها به URL یا الگوی URL های دیگری هدایت کنید، می توانید این کار را با استفاده از htaccess RewriteRule انجام دهید. در این مقاله، من با یک مثال ساده شروع می کنم تا شما را شروع کنید. بعد، توضیح خواهم داد که htaccess چگونه کار می کند و چرا اهمیت دارد. ما در نیمه دوم مقاله به مثالهای پیچیدهتری که شامل عبارات منظم و نحوه جایگزینی الگوها با الگوهای دیگر میشوند، میپردازیم.
تسلط بر htaccess RewriteRules به شما این امکان را می دهد که از انواع پلاگین های منابع فشرده و کدهای PHP که سرعت سایت شما را کند می کنند اجتناب کنید. بنابراین، یادگیری اصول اولیه و استفاده از ابزارهایی برای ساختن و آزمایش عبارات مفید است.
با استفاده از RewriteRule ساده htaccess
اگر از قبل می دانید فایل htaccess چیست و فقط به دنبال یک مثال سریع از نحوه استفاده از RewriteRules هستید، این بخش به شما کمک می کند تا شروع کنید. در اینجا نحو برای جایگزینی الگوی اصلی RewriteRule:RewriteRule آمده است [Flags]
این ناگفته نماند. بخش Pattern مربوط به نوع رشته هایی است که می خواهید مطابقت دهید و Replace همان چیزی است که می خواهید آن را جایگزین کنید. همانطور که گفته شد، میتوانید از RegEx برای پیچیدهتر کردن آن به هر اندازه که میخواهید استفاده کنید، اما در اینجا یک مثال ساده از نحوه عملکرد آن آورده شده است: RewriteRule ^old-page$ new-page [R=301,L]
قانون فوق در مورد تمام صفحاتی که با “صفحه قدیمی” ختم می شوند اعمال می شود و آن را با “صفحه جدید” جایگزین می کند. بنابراین آدرس زیر: https://www.test.com/old-page
تبدیل خواهد شد: https://www.test.com/new-page
این خیلی ساده است، درست است؟
تست RewriteRules
اگر مراقب نباشید، قوانین Htaccess می توانند وب سایت شما را خراب کنند. برخلاف نرمافزارهایی مانند وردپرس، که بررسیهایی را برای از کار انداختن تصادفی سایت شما انجام میدهند، htaccess صرفاً فایلی است که توسط آپاچی «همانطور که هست» تفسیر میشود. هیچ شبکه ایمنی وجود ندارد و اگر حتی یک اشتباه کوچک مرتکب شوید، می توانید کل وب سایت خود را از دسترس خارج کنید.
در نتیجه، بسیار مهم است که RewriteRules خود را تا آنجا که می توانید آزمایش کنید. سعی کن خودت قبل از دیگری بشکنی! برای آن من از این ابزار تست htaccess استفاده می کنم. من سال ها از آن استفاده می کنم و از اینکه چقدر تمیز کار می کند بسیار تحت تأثیر قرار گرفته ام. در اینجا یک اسکرین شات از من با استفاده از ابزار تست RewriteRule در بالا آمده است:
می بینید که دستور همانطور که تبلیغ می شود کار می کند. همانطور که فایل htaccess خود را ایجاد می کنید، حتما از این ابزار اغلب استفاده کنید.
به فایل htaccess دسترسی پیدا کنید
اگر نمی دانید چگونه با htaccess RewriteRules شروع کنید، این بخش برای شما مناسب است. همه چیز با فایل htaccess شروع می شود. این یک فایل متنی کوچک و مخفی است که در فهرست اصلی وب سایت شما قرار دارد. در واقع می تواند زندگی کند هر نوعی دایرکتوری، اما بیایید فعلاً روی دایرکتوری ریشه تمرکز کنیم.
برای دسترسی به این فایل، باید مدیر فایل میزبان وب خود را باز کنید. به عنوان مثال، اگر از cPanel استفاده می کنید (و احتمالاً از آن استفاده می کنید)، مدیر فایل به این صورت است:

اگر از میزبانی وب استفاده میکنید که کنترل پنل میزبانی وب متفاوتی را پیادهسازی میکند، رابط آنها را بررسی و بررسی کنید تا مدیر فایل را پیدا کنید. معمولا در یک مکان برجسته است. پس از باز کردن فایل منیجر، به دایرکتوری اصلی برنامه وب خود بروید. این معمولاً در آدرس:/public_html قرار دارد
ممکن است وردپرس را به جای مستقیماً در محل اصلی وب سایت در یک زیرپوشه نصب کرده باشید، در این صورت باید به زیرپوشه مورد نظر بروید. در اینجا یک اسکرین شات از دسترسی من به دایرکتوری اصلی نصب وردپرس من است:

اگر مانند من از وردپرس استفاده می کنید، این دایرکتوری حاوی پوشه های زیر است:
- wp-content
- wp-شامل
- wp-admin
وجود این سه پوشه در دایرکتوری نشان می دهد که شما در ریشه نصب وردپرس خود هستید. از آنجایی که فایل “.htaccess” با نقطه (.) شروع می شود، به عنوان یک طبقه بندی می شود پنهان شده است فایل. به طور پیش فرض، مدیران فایل معمولاً فایل های مخفی را نشان نمی دهند زیرا نمی خواهند کاربران به طور تصادفی آنها را تغییر دهند. بنابراین باید به تنظیمات مدیریت فایل خود بروید و گزینه show hidden files را همانطور که در اینجا نشان داده شده است فعال کنید:
تغییرات خود را ذخیره کنید و اکنون باید بتوانید فایل htaccess. را ببینید.
ابتدا یک نسخه پشتیبان تهیه کنید
همانطور که قبلاً در مقاله اشاره کردم، اگر در اصلاح htaccess دقت نکنید، می توانید به راحتی سایت خود را خراب کنید زیرا ریل وجود ندارد. بنابراین من به شما پیشنهاد می کنم ابتدا محتویات فایل .htaccess موجود را در دفترچه یادداشت رایانه محلی خود کپی کنید یا یک نسخه پشتیبان از فایل htaccess ایجاد کنید که بعداً اگر مشکلی پیش آمد می توانید آن را بازیابی کنید. هر روشی را که انتخاب کنید، آن را به طور تصادفی تغییر ندهید. من بسیاری از نصب های وردپرس را دیده ام که صرفاً به این دلیل است که مدیر سایت یک خطای نحوی در فایل htaccess.
قوانین بازنویسی htaccess پیچیده تر
ما به قوانین بازنویسی ساده مانند جایگزین کردن یک URL که با یک رشته خاص ختم می شود، نگاه کردیم. اما اکنون بیایید ببینیم چگونه می توانیم از عبارات منظم برای جایگزینی بخشی از URL ها استفاده کنیم. این قدرت RewriteRules را افزایش می دهد و به شما اجازه می دهد تا تغییر مسیرهای بسیار شگفت انگیزی ایجاد کنید.
به عنوان مثال، فرض کنید میخواهم همه URLهایی را که اسلاگ آنها با کلمه “test” شروع میشود، با یک URL مشابه، اما با کلمه “anothertest” به جای “test” جایگزین کنم، در اینجا نمونهای از RewriteRule است که دقیقاً این کار را انجام میدهد: RewriteRule ^ test(.*)$ تست دیگری $1 [R=301,L]
بیایید این را کمی تفکیک کنیم. الگوی اول با حلزونی که با “تست” شروع می شود مطابقت دارد. علامت (^) شروع رشته را نشان می دهد. به دنبال آن یک عبارت معمولی استاندارد “(.*)” وجود دارد که نشان می دهد “هر چه بعد از آن بیاید”. RegEx یک سیستم پیچیده از قوانین برای تطبیق کاراکترها است و توضیح نحوه کارکرد آن از حوصله این مقاله خارج است. با این حال، اخیراً استفاده از هوش مصنوعی مانند ChatGPT برای ایجاد عبارات منظم بسیار مفید است. اما همیشه باید کار آنها را بررسی کنید – گاهی اوقات این ابزارها اشتباه می کنند و این به شما بستگی دارد که از آنها مسئولانه استفاده کنید.
بخش دوم RewriteRule شامل رشته هدف است. در اینجا ما رشته را با “دیگر تست” شروع می کنیم و سپس $1 به اولین تطابق رشته قبلی RegEx در پرانتز اشاره می کند که در این مورد “(.*)” است. بنابراین این قانون به سادگی هر چیزی که اولین مسابقه بود را کپی/پیست می کند و آن را به “آزمون دیگر” اضافه می کند.
شما می توانید این را با استفاده از ابزار تست htaccess که قبلا به شما نشان دادم تست کنید. از URL های مختلفی استفاده کنید که با “تست” شروع می شوند – و برخی که این کار را نمی کنند! – و مطمئن شوید که RewriteRule همانطور که انتظار دارید کار می کند.
استفاده از قوانین بازنویسی برای محافظت از پوشه های حساس
یکی از کاربردهای خوب بازنویسی قوانین، جلوگیری از دسترسی خارجی به پوشههای حساس است. به عنوان مثال، فرض کنید من یک پوشه در وب سایت خود دارم به نام “حساس”. در چنین سناریویی، RewriteRule زیر از دسترسی به آن جلوگیری می کند: RewriteRule ^sensitive/ – [F,L]
بنابراین اگر آدرس پوشه www.example.com/sensitive باشد، قانون فوق یک خطای 403 Forbidden ایجاد می کند. این [F,L] پرچمها در انتهای فرمان به ترتیب به معنای “غیر مجاز” و “بدون نیاز به پردازش بیشتر” هستند. اساساً جلسه پس از ایجاد پاسخ 403 به پایان می رسد.
نتیجه
htaccess RewriteRules کاربردهای زیادی دارد. آنها سریع هستند و از منابع سرور بسیار کمی استفاده می کنند، بر خلاف روش های دیگر مانند کد PHP، که می تواند راحت تر در یک حمله DDoS استفاده شود. اگرچه تغییر فایل htaccess خطرناک است، اما به راحتی می توان اقدامات احتیاطی را با یک نسخه پشتیبان انجام داد، و اگر وب سایتی را با استفاده از آپاچی اجرا می کنید، حداقل یک معرفی مختصر از قوانین htaccess. کمک بزرگی خواهد بود.
پس چگونه بفهمم کدام یک برای من مناسب است؟
متأسفانه، برای همه وبسایتها، چه از وردپرس بهعنوان پلتفرم وبسایت خود استفاده کنید یا نه، رویکرد یکسانی وجود ندارد. خبر خوب این است که با برنامه های میزبانی VisualWebTechnologiesو همچنین بسیاری از موارد دیگر، میتوانید بدون نقص هاست خود را به سطوح یا بستههای بالاتر ارتقا دهید. امیدواریم که وب سایت شما به همان سرعتی که آرزو می کنید رشد کند و داشتن آن مشکل خوبی خواهد بود!




