در مقاله htaccess. چیست به توضیحات کاملی در مورد فایل htaccess و کاربرد های آن و اینکه این فایل چگونه ایجاد می شود را تشریح کردیم.
یکی از پرکاربردترین استفاده ها ریدایرکت htaccess یا فوروارد htaccess می باشد. در این مقاله برخی از پرکاربردترین کدهای ریدایرکت htaccess می پردازیم.
ریدایرکت http به https در htaccess
۱
۲
۳
۴
۵
|
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
|
ریدایرکت https با (www (https://www به بدون www
۱
۲
۳
۴
۵
۶
۷
|
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,NE,R=301]
|
ریدایرکت https به http در htaccess
۱
۲
۳
|
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
|
ریدایرکت آدرس سایت بدون www به آدرس با www
۱
۲
۳
۴
۵
|
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]
|
ریدایرکت آدرس سایت با www به آدرس بدون www
۱
۲
۳
۴
۵
|
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301,NC]
|
ریدایرکت http به https بجز یک دایرکتوری یا فولدر
۱
۲
۳
۴
۵
۶
۷
۸
۹
۱۰
۱۱
۱۲
۱۳
۱۴
۱۵
|
<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} on
RewriteRule ^%{HTTP_HOST}/demo(.*) http://%{HTTP_HOST}/demo/$1 [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
|
ریدایرکت فقط یک پوشه از سایت بر بستر https
۱
۲
۳
۴
۵
۶
۷
|
RewriteEngine On
RewriteCond %{SERVER_PORT} ۸۰
RewriteCond %{REQUEST_URI} folder
RewriteRule ^(.*)$ https://www.example.com/folder/$1 [R,L]
|
ریدایرکت ساب دامنه بر روی دامنه اصلی
۱
۲
۳
۴
۵
۶
۷
۸
۹
|
#Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^sub.domain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.sub.domain.com$
RewriteRule (.*)$ http://domain.com/$۱ [R=301,L]
|
ریدایرکت یک فایل در htaccess
۱ |
RedirectMatch ۳۰۱ /oldurl /newurl
|
ریدایرکت تمامی آدرس های یک دامنه به یک آدرس خاص
۱ |
RedirectMatch ۳۰۱ / /newurl
|
ریدایرکت ۳۰۲ در .htaccess
۱ |
Redirect ۳۰۲ / http://domain.com/
|
ریدایرکت دامنه قدیمی به دامنه جدید
۱
۲
۳
۴
۵
۶
۷
|
RewriteEngine on
RewriteCond %{HTTP_HOST} ^ domain.ir [NC,OR]
RewriteCond %{HTTP_HOST} ^www.domain.ir [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301,NC]
|
ریدایرکت یک صفحه به صفحه دیگر
۱ |
Redirect /old-index.html http://www.mynewwebsite.com/foldername/new-index.html
|
ریدایرکت دامنه پارک شده به ساب دامنه
۱
۲
۳
۴
۵
۶
۷
|
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www.)?parkdomain.com$ [NC]
RewriteRule ^(.*)$ http://maindomain/subdomain [L]
|
ریدایرکت دامنه اصلی به ساب دامنه
۱
۲
۳
۴
۵
۶
۷
|
Options +SymLinksIfOwnerMatch
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ [NC]
RewriteRule ^http://sub.domain.com[R,L]
|
ریدایرکت webmail
با کد زیر می توانید webmail.domian.com را به domain.com/webmail ریدایرکت کنید.
۱
۲
۳
۴
۵
۶
۷
|
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www.)?webmail.domain.com/$ [NC]
RewriteRule ^(.*)$ http:// domain.com/webmail/ [L]
|
نام دامنه مورد نظر را جایگزین domain.com نمائید.
ریدایرکت ساب دامنه به ip با پورت (Port)
۱
۲
۳
۴
۵
|
RewriteEngine on
RewriteCond %{HTTP_HOST} ^subsonic\.mydomain\.com$ [NC]
RewriteRule ^(.*)$ http://ip:4040/$1 [R=301]
|
ریدایرکت کردن کل ترافیک سرور بر روی https
۱
۲
۳
۴
۵
|
RewriteEngine On
RewriteCond %{SERVER_PORT} ۸۰
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
|
ریدایرکت یک پسوند خاص صفحات سایت به پسوند دیگر
۱ |
RedirectMatch ۳۰۱ (.*)\.html$ http://domain.com$1.php
|
ریدایرکت دامنه در cPanel
بعد از ورود به سی پنل، از منوی «Domain» روی لینک «Redirects» کلیک کنید.
پنجرهای برای شما باز میشود که اطلاعاتی را از شما میخواهد.
در فیلد اول که با عنوان «Type» مشخص شده، انتخاب کنید که آیا میخواهید یک تغییر مسیر دائمی (۳۰۱) داشته باشید یا تغییر مسیر شما موقت (۳۰۲) است.
در فیلد دوم دامنه خود را وارد کنید. مثل تصویر زیر:
فیلد سوم به شما میگوید، اگر میخواهید یک فایل خاص را ریدایرکت کنید (مانند info.html) مسیر آن را در قسمت خالی جلو “/” وارد کنید.
در کادر Redirects to، دامنهای که میخواهید ریدایرکت به آن انجام شود وارد کنید.
در بخش «www. Redirection» نحوه مدیریت ریدایرکتهای www را انتخاب کنید.
این قسمت به شما امکان میدهد نحوه مدیریت تغییر مسیرها را در رابطه با زیر دامنه www پیکربندی کنید. به عنوان مثال، شما میتوانید ریدایرکت را فقط در صورت وجود www اعمال کنید (یا وقتی که نباشد)، یا میتوانید ریدایرکت را بدون توجه به اینکه کاربر در www تایپ کند یا نه، اعمال کنید.
گزینه «Wild Card Redirect» در پایین صفحه مشخص است و با گذاشتن یک تیک میتوان آن را فعال یا غیرفعال کرد.
این گزینه در مواقعی کاربرد دارد که قصد دارید همه صفحات موجود را ریدایرکت کنید. در این صورت همه فایلهای موجود در مسیر تعیین شده به مسیر مقصد ریدایرکت میشوند.
بعد از اینکه تمام تغییرات را طبق آنچه نیاز دارید انجام دادید، برای ذخیره تغییرات روی «Add» کلیک کنید.
سازنده کدهای Htaccess آنلاین
برای ایجاد کد های ریدایرکت Htaccess می توانید از لینک های زیر بهره ببرید.
چنانچه سوالی دارید یا می خواهید در قسمت نظرات آن را مطرح کنید تا پاسخگو شما باشیم. همچنین اگر قصد یادگیری وردپرس را دارید می توانید به مقاله آموزش وردپرس مراجعه کنید.
۲۲ دیدگاه. Leave new
سلام
در رابطه با کد زیر برای ریدایرکت دامنه قدیمی به جدید:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^ domain.ir [NC,OR]
RewriteCond %{HTTP_HOST} ^www.domain.ir [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301,NC]
در صورتی که دامنه جدید با پروتکل https با شد فقط خط آخر تغییر می کند؟ در این صورت تغییرات به شکل زیر خواهد بود؟:
RewriteRule ^(.*)$ https://domain.com/$1 [L,R=301,NC]
با تشکر از پاسخ شما
بله بهمین صورت تغییر می کند
با سلام
ممنون از مطلب خوبتون
سوالم اینه که میخوام آدرسهایی با فرمت http://www.myWebUrl.com/main/file.php?id=2 رو به صورت http://www.myWebUrl.com/main/file/2 تو نوار آدرس نشون بدم. ( به عبارت دیگه میخوام از http://www.myWebUrl.com/main/file/2 ریداریکت کنم به http://www.myWebUrl.com/main/file.php?id=2 )
اگه ممکنه راهنمایی کنید
ممنون
سلام، از طریق پیوند های یکتا اقدام کنید.
سلام
بفرمایید چطور https و www را به این فایل اضافه کنیم ؟ جای این قسمت در مطلب خوبتون خالیه
در ضمن ، این کد که در هاست وجود داره را رها کنیم ، یا باید دستخوش تغییرات بشه ؟>
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
سلام، این کد باشد و داخل یک خط جدید موارد ذکر شده را ایجاد کنید.
با این ریدایرکت http به https همه ادرس ها تغییر یکنه و همه با هم تییر میکنه ؟
بله
سلام و درود بابت اموزش خوبتون
من اگر که بخوام یک سری صفحات را به صفحات دیگری ریدایرکت کنم از کدام کد باید استفاده کنم ؟؟
سلام. من میخوام کل ادرس های یک دامنه و صفحه اصلیش رو به صفحه اصلی یک ساید دیگه ریدایرکت کنم . کدش چطور میشه ؟ هر چی گشتم چیزی پیدا نکردم !
سلام
از کد درج شده در بخش “ریدایرکت تمامی آدرس های یک دامنه به یک آدرس خاص” استفاده نمایید.
با سلام فایل htaccess سایتم خیل کد دارد و شلوغ است این کدریدایرکت را کجا قرار دهیم ؟؟
و اینکه در این کد اگر ادرس سایت اصلی httpsباشد باید در خط اخر اعمال شود یا کد دیگری نیاز است؟؟؟
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]
با سلام
شما می توانید این کد را در ابتدای فایل htaccess قرار دهید
سلام.وقت بخیر.
ببخشید من تازه کار هستم و برای فعالسازی گواهی SSL روی سایت با راهنمایی همکاراتون به این صفحه رسیدم. متأسفانه چندبار تلاش کردم و کد قسمت (ریدایرکت http به https در htaccess) رو توی فایل کپی کردم و فایل رو هم ذخیره کردم اما علامت قفل قبل از آدرس سایتم نمیاد. مجبور شدم از افزونه SSL که همکاراتون لینکش رو فرستادن، استفاده کنم.
و یک سؤال محل نوشتن این ۳ خط کد اهمیت دارد که کجا باید باشه و خط اول الزامی داره که حتماً نوشته بشه؟! من هر دو حالت رو انجام دادم و جواب نگرفتم.
ممنون میشم اگه منو راهنمایی کنین. دوست داشتم دستی این کار رو بکنم. تا بتونم مابقی تغییرات رو انجام بدم.
با تشکر
سلام و وقت بخیر.
من میخوام آدرس با www سایتم رو به بدون www ریدایرکت کنم. کد داخل این صفحه و هرچی کد مرتبط توی صفحات دیگه رو امتحان کردم ولی هیچکدوم کار نکرد. مشکل از کجا ممکنه باشه؟
ممنون میشم راهنمایی کنید
سلام
به این صورت عمل کنید:
بهتر نبود مطالب کمی ساده و روان تر برای کسانی که آشنایی ندارند در این مقاله توضیح داده میشد از اول شروع این مقاله کمی مرحله به مرحله جلو میرفتید یا حداقل این همه کد با توضیح چند کلمه ای زیرش باید کپی پیست بشه؟در اول کد های صفحه یا اخرش
موقع فروش هاست و سرور فقط گفته میشه گواهی با ما …
نمیگید این همه مراحل پیچیده داره ک با خودمونه
سلام و ممنون از نظرتون
خیلی از مقالههای ما در دست ویرایش هستن و به زودی با توضیحات بهروز و کاملتری در خدمتتون خواهیم بود.
اگر دوست داشتید به مطالب جدید ایران سرور سر بزنید
با سلام
از خدمات ایران سرور کاملا رضایت دارم
و از مطالب بینظیر و تخصصی کمال تشکر و قدر دانی را دارا میباشم .
سپاس از لطفتون
با آرزوی موفقیت
سلام
از مطلب جامعی که ارائه کردید خیلی ممنونم
یه کد ریدایرکتی میخواستم که توی این مثال ها نتونستم پیدا کنم.
در واقع لینک های من به این شکله:
لینک قدیم:
http://subdomin.mydomin.com/product/123/name
لینک جدید:
http://subdomin.mydomin.com/subproduct/123/456/name
(منظور از ۱۲۳ آیدی محصوله و ۴۵۶ هم آیدی subdomin هست و یه عدد ثابته)
در واقع توی لینک جدید product به subproduct تغییر کرده و توی لینک جدید عدد ثابت آیدی سابدامنه اضافه شده)
لطفا بفرمایید که با چه کدی لینک قدیم رو به لینک جدید ریدایرکت کنم؟
بازم از راهنماییتون سپاسگذارم
سلام آقا محمد، ممنون از شما
اگر از وردپرس استفاده میکنید از افزونه ۳۰۱ redirect میتونید استفاده کنید
RewriteEngine On RewriteCond %{HTTP_HOST} ^olddomain\.ir$ [OR] RewriteCond %{HTTP_HOST} ^www\.olddomain\.ir$ RewriteRule (.*)$ https://newdomain.com/$1 [R=301,L]
از طریق htaccess هم امکان راه اندای چنین چیزی هست