تغییر مسیر آدرس سایت با فایل .htaccess
در این مقاله به نحوه ایجاد یک فایل .htaccess برای تغییر مسیر سایت یا محتوای سایت میپردازیم. توجه داشته باشید که این کار روی ایمیل هایی که به دامین ارسال میشوند تاثیری ندارد.
فایل .htaccess به عنوان یک فایل پیکربندی قدرتمند شناخته میشود. اما برای ویرایش آن باید بسیار دقیق عمل کرد حتی کوچکترین خطای نحوی ( مثل یک فضای خالی اضافی ) میتواند باعث خطا شود و کد دستوری ما اعمال نشود. فایل .htaccess یک فایل سیستمی مخفی است؛ پس برای استفاده باید کلاینت FTP برای نمایش آن پیکربندی شده باشد. این تنظیمات معمولا در مسیر preferences/options قرار دارد.
دستورالعمل ها
- یک فایل متنی خالی با استفاده از یک ویرایشگر متن مانند notepad ایجاد کنید و آن را به عنوان htaccess.txt ذخیره کنید.
توجه کنید:
بسیاری از سیستم عامل ها و برنامه های FTP به طور پیشفرض نمیتوانند فایل های .htaccess را بخوانند و مشاهده کنند. پس ابتدا فایل را با پسوند txt و به صورت htaccess.txt ذخیره میکنیم و پس از آپلود در سرور نام آن را به .htaccess تغییر میدهیم.
2. محتویات فایل htaccess.txt را ویرایش کنید. چند نمونه از تغییر مسیرهایی که وجود دارد در زیر آورده شده است که میتوانید بسته به نیاز خود از آن ها استفاده کنید. این تغییر مسیرها مطابق با اقداماتی که انجام میدهند برچسب گذاری شده اند.
تغییر مسیر 301 ( دائمی )
ریدایرکت 301 در فایل .htaccess رایج ترین نوع ریدایرکت است و در صورتی از آن استفاده میکنیم که میخواهیم کل سایت را به صورت دائمی به یک URL دیگر هدایت کنیم.
در این مثال، ما به دامنه “example.com” هدایت می شویم. توجه داشته باشید که هنگام افزودن موارد زیر به فایل .htaccess وب سایت خود، حتماً نام دامنه خود را جایگزین example.com کنید. بهتر است در کدنویسی کامنت گذاری را فراموش نکنیم.
# This allows you to redirect your entire website to any other domain
Redirect 301 / http://example.com/
تغییر مسیر 302 ( موقتی )
از این ریدایرکت در صورتی استفاده میکنیم که میخواهیم کل سایت را به صورت موقت یه یک URL دیگر هدایت کنیم. از این نوع ریدایرکت میتوان برای اهداف سئو استفاده کرد. مثلا شما یک صفحه فرود موقت دارید و قصد دارید که بعدا به صفحه فرود اصلی خود برگردید.
# This allows you to redirect your entire website to any other domain
Redirect 302 / http://example.com/
تغییر مسیر index.html به یک ساب فولدر خاص
اگر میخواهید فایل index.html را به یک زیرپوشه خاص هدایت کنید میتوانید از کد زیر استفاده کنید.
# This allows you to redirect index.html to a specific subfolder
Redirect /index.html http://example.com/newdirectory/
تغییر مسیر یک دایرکتوری قدیمی به یک دایرکتوری جدید.
گاهی اوقات نیاز داریم که یک پوشه قدیمی را به یک پوشه جدید هدایت کنیم در این صورت میتوانیم از کد زیر استفاده کنیم.
# Redirects example.com/old to example.com/new
RewriteRule ^old/(.*)$ /new/$1 [R=301,NC,L]
تغییر مسیر یک فایل قدیمی به مسیر فایل جدید
# Redirect old file path to new file path
Redirect /olddirectory/oldfile.html http://example.com/newdirectory/newfile.html
تغییر مسیر به یک ساب فولدر با URL masking
URL masking یا Domain masking به معنی پنهان کردن اسم دامین وبسایت از URL ای است که داخل بروزر کاربر به نمایش در میآید و نمایش یک نام دیگر به جای آن میباشد.
# Show the content in example.com/folder2, but the URL appears as example.com/folder1
RewriteEngine On
RewriteRule ^folder1/?$ /folder2/
# To show the URL as just example.com
RewriteEngine On
RewriteRule ^/?$ /folder2/
تغییر مسیر به یک صفحه فهرست خاص
# Provide Specific Index Page (Set the default handler)
DirectoryIndex index.html
تغییر مسیر یک پیغام خطا
به جای نمایش صفحه خطای 404 سایت به صفحه اصلی هدایت میشود.
# Redirect 404 Error pages to the home page
ErrorDocument 404 http://example.com/
تغییر مسیر یک صفحه ای که موجود نیست به index.php
# Redirect non-existing pages to index.php
Options +SymLinksIfOwnerMatch
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
3. در مرحله آخر فایل نهایی را آپلود کنید و نام آن را به .htaccess تغییر دهید.
برای آموزش های بیشتر میتوانید به بخش مرکز آموزش در سایت پویان آی تی مراجه کنید.
به این مقاله امتیاز دهید!
میانگین امتیاز 5 / 5. تعداد رأی ها : 1
هنوز هیچ رأیی داده نشده. اولین نفر باشید!
اولین دیدگاه را اضافه کنید.