article

مقایسه خطای 404 و کد 301 ریدایرکت (Redirect)

web-http-redirect-error

یکی از مهم ترین مسائل در دانش سئو (SEO مخفف Search Engine Optimization و به معنی بهینه سازی صفحات وب برای موتورهای جستجو) این است که در پاسخ درخواست موتورهای جستجو برای دریافت محتوای URL چه کد HTTP ای باید از طرف سرور تنظیم شود، شاید برای کاربران عادی سایت ها و وبلاگ ها این مسئله چندان فرقی نکند و مهم صفحه و محتوایی باشد که نمایش داده می شود، اما از نظر موتورهای جستجو اینکه یک سرور در پاسخ به درخواست دریافت URL چه کد HTTP ای برمی گرداند می تواند نقش تعیین کننده ای در نحوه عملکرد آنها داشته باشد، بعضا مشاهده می شود که به دلیل اشتباه یا ناآگاهی از نحوه عملکرد کدهای HTTP حتی کلیه محتوای یک سایت که در ظاهر مشکلی نداشته از لیست نتایج جستجو حذف شده است، از جمله مهم ترین این اشتباهات استفاده نادرست از کد خطای 404 به جای کد 301 ریدایرکت است، به همین دلیل در این مطلب می خواهیم این دو کد را با هم مقایسه کنیم تا با کاربردها و تفاوت های آنها بیشتر آشنا شویم.

چگونه کدهای HTTP سرور را بررسی کنیم؟


ممکن است برایمان این سوال مطرح باشد که چگونه می توانیم مطمئن شویم سرور در پاسخ درخواست ها چه کد وضعیت HTTP را برمی گرداند؟
در پاسخ باید گفت در مرورگرهایی نظیر فایرفاکس، گوگل کروم و... معمولا قسمتی تحت عنوان Web Developer، Developer Tools، Web Console یا عباراتی شبیه به این وجود دارد که در آنها ابزارهای بسیار خوبی برای برنامه نویسان وب و مدیران سایت ها ارائه می شود، به طور مثال هنگام ورود به یک سایت یا صفحه وب جزئیات کاملی از پاسخ های سرور نمایش داده می شود.
Browser Console Status
نکته: معمولا با زدن دکمه F12 صفحه کلید در مرورگرها قسمت مربوط به بررسی کدهای وضعیت HTTP و سایر امکانات خطایابی در دسترس قرار می گیرد.
علاوه بر این گوگل نیز در ابزار وبمستر خود امکانی تحت عنوان Fetch as Googlebot دارد که با آن می توانیم صفحات خود را با ربات گوگل دریافت و از کارکرد صحیح آنها اطمینان حاصل کنیم، این خدمات گوگل در آدرس 
https://www.google.com/webmasters
ارائه می شود.

کد HTTP 200 یا وضعیت Ok چیست؟


قبل از اینکه بخواهیم خطای 404 را با کد 301 ریدایرکت مقایسه کنیم باید اول ببینیم که پاسخ سرور در حالت عادی چگونه است و اصلا این کدها به چه معنی هستند؟!
طبق پروتکل های وب و از جمله پروتکل HTTP در تعامل بین واسط کاربری (User-agent) و سرور (Server) به طور مثال تعامل بین مرورگر کاربر و سرور یک سایت کدهایی از طرف سرور به عنوان پاسخ به درخواست مرورگر ارسال می شود که وضعیت منبع درخواست شده را تعیین می کند، به فرض اگر منبع درخواستی از URL یک فایل تصویر بوده:
http://example.com/images/tree.png
و این فایل قبلا حذف شده یا تغییر نام داده باشد کد 404 به عنوان عدم پیدا شدن منبع درخواستی یا کد 301 به عنوان تغییر نام یا تغییر محل نگهداری تصویر به مرورگر ارسال می شود، به همین صورت این کد در حالتی که همه چیز روبه راه و به اصطلاح وضعیت Ok باشد با عدد 200 ارسال می شود که نشان دهنده مرتب بودن اوضاع و بدون مشکل بودن سرور و منبع درخواستی است.
Request URL: http://example.com/images/tree.png
Request Method: GET
Status Code: 200 OK
همان طور که گفتیم گاهی خواسته یا ناخواسته ممکن است مشکلی وجود داشته باشد و سرور نتواند منبع مورد نظر را به درستی در پاسخ درخواست ارسال کند و در اینجاست که اهمیت کدهای خطای HTTP مشخص می شود، شاید کاربر عادی (انسان) برایش چندان فرقی نکند که چه کدی از طرف سرور ارسال شده است اما موتورهای جستجو به دلیل ماهیتشان نمی توانند مثل انسان ها اوضاع را تجزیه تحلیل کنند و تنها به کدی که به عنوان پاسخ برگردانده می شود اهمیت می دهند، فرض کنیم سایتی دچار مشکل شده است و نمی تواند منبع درخواست شده را پیدا کند اما با این وجود در مقابل درخواست ربات جستجوگر کد 200 HTTP یا وضعیت Ok را برگرداند، واضح است که در چنین شرایطی ربات تصور می کند همه چیز مرتب است و صفحه دارای مشکل که بعضا ممکن است فاقد محتوا یا پیغام خطا در آن نشان داده شده باشد را ایندکس (ذخیره) می کند، از این وضعیت بدتر اینکه ممکن است منبع درخواستی در سرور وجود داشته باشد اما با ارسال کد HTTP نادرست (به فرض 404) ربات تصور کند که محتوای مد نظرش حذف شده و در دسترس نیست!
برای جلوگیری از بروز اینگونه مشکلات باید در هر وضعیت از کد خطای 404 و 301 ریدایرکت متناسب آن استفاده کنیم که البته هر کدام موارد استفاده جداگانه ای دارند که در ادامه به آنها اشاره خواهیم کرد.

کد خطای 404، صفحه مورد نظر پیدا نشد!


کد خطای 404 یا Not Found به این معنی است که سرور نمی تواند منبع درخواستی (اعم از صفحه وب، فایل و...) را پیدا کند و دلیل خطای 404 یا Not Found معمولا حذف مطلب یا فایل و یا تغییر نام آنها است، گاهی مواقع برای اینکه به ربات های جستجوگر بگوییم که محتوای مد نظر آنها دیگر وجود ندارد و آن را از لیست جستجو حذف کنند، باید با کد 404 HTTP به درخواست آنها پاسخ دهیم، معمولا سرورها در حالت عادی این کار را برای لینک ها و فایل هایی که واقعا وجود ندارند به صورت خودکار انجام می دهند اما گاهی نیاز است که به صورت آگاهانه این کد خطا را تنظیم کنیم، به طور مثال برای دایرکتوری هایی که از نظر ما حساس هستند و نمی خواهیم ربات آنها را پیدا کند (به فرض دایرکتوری پنل مدیریت سایت) و یا در مورد لینک های داینامیک ناقص که ممکن است برنامه سمت سرور به جای خطای 404 صفحه اصلی سایت را نمایش دهد، در این حالت ها لازم است که به صورت دستی کد خطای 404 تنظیم کنیم و خواهیم دید که خزنده های جستجوگر بعد از چند بار مراجعه و درخواست محتوا، نهایتا منصرف شده و آن لینک را به عنوان لینک مُرده برچسب گذاری می کنند.

چگونه کد خطای 404 HTTP را تنظیم کنیم؟


تنظیم کد خطای 404 HTTP بسته به اینکه هدفتان چه باشد می تواند کار ساده و در عین حال حساسی باشد، اشتباه در این کار می تواند به قیمت حذف سایت یا صفحه از لیست نتایج جستجو تمام شود، با این وجود برای انجام این کار معمولا دو راه پرکاربرد وجود دارد:
استفاده از دستورات فایل htaccess. و یا استفاده از زبان های برنامه نویسی سمت سرور مانند PHP یا ASP که در مثال های زیر روش استفاده از دستورات فایل htaccess. و برنامه نویسی PHP را بررسی می کنیم.

تنظیم خطای 404 با دستورات فایل htaccess.


در سرورهای Apache معمولا می توانیم با ایجاد فایلی با نام htaccess. در ریشه سایت (فولدر www یا public_html) بر روی اینگونه عملکردهای سرور کنترل داشته باشیم (در صورت نیاز در این رابطه باید از پشتیبانی هاستمان سوال کنیم)، این فایل در صورت عدم وجود دقیقا به همین صورت صرفا با پسوند htaccess و بدون نام باید ساخته شود.
همانطور که گفتیم سرورها در حالت معمول به طور خودکار خطای 404 را برای صفحات و فایل هایی که به هر دلیل در دسترس نباشند نمایش خواهند داد، اما برای تنظیم صفحه ای سفارشی که کاربر را پس از دریافت خطا با اطلاعات مد نظرمان راهنمایی کند یا او را به آدرس دیگری منتقل نماید، می توان از دستوری مشابه نمونه دستور زیر استفاده کرد:
ErrorDocument 404 /404errorpage.html
کافی است دستور بالا را در فایل htaccess. قرار دهیم (اگر این فایل در سرور وجود ندارد می توانیم در محیط مدیر فایل سرور یا با کپی از فایل های موجود آن را بسازیم)، از این به بعد سرور به جای نمایش صفحه پیش فرض صفحه موجود در ریشه سایت با نام 404errorpage.html را نمایش خواهد داد، همچنین می توانیم این صفحه را در یک فولدر دیگر نیز قرار دهیم:
ErrorDocument 404 /error/404errorpage.html
دقت کنیم که حتما آدرس ها باید به شکل بالا در یک خط و به صورت دایرکتوری تنظیم شده باشند، به فرض تنظیم به صورت
http://www.example.com/error/404errorpage.html
صحیح نیست، از طرفی می توانیم درون صفحه 404 سفارشی از متاتگ های robots و مقادیر noindex استفاده کنیم تا از عدم ذخیره صفحه توسط ربات ها مطمئیم شویم.
<meta name="robots" content="noindex">
این متاتگ را باید در قسمت header صفحه 404 بین تگ های head قرار دهیم.

تنظیم خطای 404 با برنامه نویسی PHP


علاوه بر دستورات htaccess می توانیم با برنامه نویسی سمت سرور و کدهای PHP نیز خطاهای 404 را مدیریت کنیم، برای این کار کافی است با استفاده از توابع header در PHP کد 404 HTTP را در پاسخ درخواست کاربر از سرور به مرورگر (یا هر واسط کاربری دیگری) ارسال کنیم:
<?php
header('HTTP/1.0 404 Not Found');
?>
دقت کنیم که دستورات مربوط به header در PHP باید قبل از چاپ هر نوع خروجی متنی یا HTML اجرا شوند در غیر این صورت با خطا ی 
Warning: Cannot modify header information - headers already sent
مواجه خواهیم شد.

خطای Soft 404 چیست؟


علاوه بر خطای 404 حقیقی که با دریافت کد 404 در سربرگ های HTTP مشخص می شود، نوعی خطای عدم پیدا شدن منبع درخواستی با عنوان Soft 404 error وجود دارد که در این حالت فقط صفحه ظاهری خطا نمایش داده می شود بدون اینکه واقعا کد 404 HTTP در Header پاسخ از طرف سرور تنظیم و ارسال شود (به جای کد 404 کد 200 و وضعیت Ok ارسال می شود)، هرچند این کار می تواند در مواقع خیلی ضروری که نیاز به غیر فعال کردن موقت یک منبع (صفحه، فایل و...) صرفا از دید کاربران (و نه موتورهای جستجو) است مفید باشد اما باید دقت کنیم که در صورت مراجعه ربات های جستجوگر و دریافت پاسخ 200، محتویات فعلی منبع جایگزین محتویات از پیش ایندکس شده آن خواهند شد و بدیهی است که ایندکس شدن محتوای صفحه خطا تاثیر منفی بر SEO را در پی خواهد داشت.
باید سعی کنیم تا حد امکان از عدم وجود خطاهای Soft 404 در کل سایتمان اطمینان حاصل کنیم و در صورتی که نیاز به استفاده از این نوع خطا داشتیم در حداقل زمان ممکن وضعیت را به حالت عادی برگردانیم.

کد 301 HTTP ریدایرکت چیست؟


گفتیم خطای 404 برای لینک هایی مناسب است که می خواهیم از لیست جستجو حذف شوند یا دیگر مورد درخواست ربات های خزنده قرار نگیرند، اما فرض کنیم به تازگی سایت خود را از دامنه قبلی به آدرس جدیدی منتقل یا تغییراتی در ساختار لینک های آن اعمال کرده باشیم، مسلم است که اگر بدون اطلاع موتورهای جستجو این کار را انجام دهیم تمام تلاش هایمان و اعتبار کسب شده برای آن سایت و لینک های قبلی به هدر خواهد رفت، اما اگر کد 301 HTTP ریدایرکت (Redirect 301) را به درستی تنظیم کنیم موتورهای جستجو و کاربران به راحتی و بدون از دست رفتن اعتبار قبلی به آدرس جدید محتوای مد نظرشان هدایت می شوند، در مورد موتورهای جستجو وقتی آنها در پاسخ درخواست کد 301 را دریافت می کنند، آدرس جدید را جایگزین لینک قدیمی کرده و تمام ویژگی ها، رنک و امتیازات را از آدرس قبلی به آدرس جدید انتقال می دهند (البته معمولا این کار مدت زمان کوتاهی طول می کشد)، در مورد کاربران نیز مرورگرها به طور خودکار به آدرس جدید هدایت می شوند (حتی ممکن است سرعت انتقال در حدی باشد که متوجه این فرآیند نشویم).
نکته: تنظیم کد 301 ریدایرکت شیوه توصیه شده موتورهای جستجو از جمله گوگل جهت انتقال از آدرس های قبلی به آدرس جدید است.

تنظیم کد 301 ریدایرکت با دستورات فایل htaccess.


مانند خطای 404 می توانیم کد 301 ریدایرکت را هم با دستوراتی در فایل htaccess. تنظیم کنیم و برای این کار از Flag [R] استفاده می کنیم، در مثال زیر این کار برای فایل index.html انجام شده است و کاربر در صورت درج عبارت index.html در آدرس URL به صفحه اصلی سایت هدایت می شود.
RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.html
RewriteRule ^index.html$ https://webgoo.ir [R=301,L]
دقت کنیم که ممکن است برخی سرورها قابلیت کنترل با دستورات فایل htaccess. را غیرفعال کرده باشند (معمولا این قابلیت فعال است)، در اینگونه موارد باید با پشتیبان هاست خود موضوع را مطرح کنیم.
نکته: برای اطمینان از فعال بودن فایل htaccess. در سرور کافی است در این فایل یک دستور ناقص مانند کد زیر درج کنیم:
.htaccess Test!
اگر با اجرای سایت خطای
500 Internal Server Error
دریافت کنیم یعنی سایت تنظیمات فایل htaccess. را پردازش کرده و این قابلیت فعال است، در غیر این صورت باید موضوع را جهت فعال سازی به پشتیبانی هاست اطلاع دهیم.

تنظیم کد 301 ریدایرکت با برنامه نویسی PHP


با استفاده از تابع header در PHP و تنظیم آدرس URL جدید جهت انتقال، می توانیم لینک را به اصطلاح برای همیشه (Permanently) منتقل کنیم، به طور مثال:
<?php
header('HTTP/1.1 301 Moved Permanently');    
header('Location: https://webgoo.ir');
die();
?>
همان طور که دیدیم شرایط و موقعیت های استفاده از خطای 404 با 301 ریدایرکت متفاوت است و باید هوشمندانه و به جا از این کدها در برنامه مدیریت سایتمان استفاده کنیم.
sectionدسته بندی: مهارتهای وب » بهینه سازی
related مطالب بیشتر:
» رتبه بندی الکسا (Alexa) چیست و چقدر اهمیت دارد؟!
» پیج رنک چیست و چگونه می توان آن را افزایش داد؟
» چرا برخی سایت ها و وبلاگ ها رتبه الکسای بهتری دارند؟
» نحوه استفاده از فایل robots.txt در سایت
» چگونه سایت یا وبلاگ را برای موتورهای جستجو بهینه سازی کنیم؟
commentنظرات (۲۱ یادداشت برای این مطلب ارسال شده است)
more یادداشت های جدید بر اساس تاریخ ارسال در انتهای یادداشت های موجود نمایش داده می شوند.
نویسنده: میزبانی وب
زمان: ۰۹:۰۸:۲۴ - تاریخ: ۱۳۹۱/۰۵/۲۰
با تشکر از مطالب آموزنده تان
نویسنده: Pouya
زمان: ۲۲:۳۲:۱۴ - تاریخ: ۱۳۹۱/۰۷/۱۰
ممنون از شما. :D
زمان: ۱۰:۴۴:۴۹ - تاریخ: ۱۳۹۱/۱۰/۱۹
سلام
اگر سايت ما مثلا يك سايت آگهي باشد و بخواهيم دامنه اين سايت را برداشته و با حفظ رنك و رتبه به سايتي اختصاص دهيم كه ارتباطي با آگهي ندارد مثلا يك سايت تفريحي است چكاري بايد انجام بديم؟
ممنون
پاسخ: 
سلام
ریدایرکت 301 بیشتر و به طور استاندارد در مواقعی به کار می رود که محتوا تغییری نکند، اما محدودیتی نیز برای سایر موارد نیست، می توانید از آدرس قدیمی برای سایت جدید استفاده کنید و رنک دامنه حداقل در کوتاه مدت حفظ خواهد شد، هر چند ممکن است به تدریج افزایش یا کاهش داشته باشد که این بستگی به لینک های دریافتی، کیفیت مطالب و... دارد.
نویسنده: دوربین عکاسی
زمان: ۱۸:۲۹:۰۲ - تاریخ: ۱۳۹۲/۰۵/۰۲
به علت تغییر ساختار سایت تعداد زیادی ارور 404 در گوگل وبمستر ایجاد شد. این ارورها مربوط به صفحاتی است که دیگر وجود ندارند و کد 404 هم نشان داده می شود. پس چرا این صفحات از ایندکس حذف نمی شود؟
پاسخ: 
فرآیند حذف لینک از لیست جستجو مدتی زمان خواهد برد، ربات خزنده چند بار باید به لینک مراجعه و هر بار خطای 404 دریافت کند تا نهایتا آن لینک از لیست جستجو حذف شود، دقت کنید سایت شما باید کد HTTP 404 تنظیم کند، صرف مشاهده صفحه 404 ممکن است کافی نباشد، برای اطمینان از ابزارهای Developer موجود در مرورگرها استفاده کرده و سربرگ های HTTP سایت خود را بررسی کنید.
نویسنده: نوید
زمان: ۲۳:۴۳:۲۹ - تاریخ: ۱۳۹۲/۰۵/۲۵
سلام خسته نباشید
من قصد دارم انجمن سایتم رو که در روت نصب شده به فولدر forum منتقل کنم و در روت وردپرس نصب کنم، برای اینکه سایت از طرف گوگل ضربه نخوره چطور از کد 301 استفاده کنم ؟
ادرس فعلی :
www.happydays.ir
آدرس جدید :
www.happydays.ir/forum
خیلی ممنون میشم کد را ویرایش کنید و صحیحش رو در این نظرات قرار بدید ،
من مرتب این صفحه رو چک میکنم.
ضمنا به جز قرار دادن کد 301 و تغییر آدرس در وبمستر تولز کار دیگه ای باید انجام شود ؟
منتظر راهنمایی شما هستم
سپاس فراوان
پاسخ: 
سلام
انتقال لینک ها باید طوری انجام شود که شامل تمام موارد باشد، یعنی برای تمام حالت ها الگوی ریدایرکت تعریف کنید که این کار حساسی است و نیاز به بررسی دقیق ساختار تمام لینک های سایت دارد، به طور مثال کد زیر لینک های با الگوی
thread-3589-lastpost.htm
l را به دایرکتوری forum منتقل می کند (تست نشده):
RewriteRule ^([0-9]+)-lastpost\.html /forum/$1-lastpost\.html [NC,L]
مسلما لینک هایی با ساختار متفاوت نیاز به دستورات متفاوت دارند تا همه موارد به درستی منتقل شوند، لذا باید با عبارات باقاعده و دستورات htaccess آشنا باشید.
در مورد سوال دوم: خیر، نیاز به کار دیگری نیست، مهم این است که لینک های قبلی با کد HTTP 301 آدرس جدید را به گوگل معرفی کنند.
نویسنده: نوید
زمان: ۰۳:۱۱:۵۲ - تاریخ: ۱۳۹۲/۰۵/۲۷
ممنون از راهنمایی شما ،
از اونجایی که ممکنه این کار حساس هست شاید یه دامین دیگه گرفتم و وردپرس رو اونجا نصب کردم ،
در صورتی که انجمن رو منتقل کردم از راهنمایی شما استفاده می کنم و نتیجه رو در همین صفحه گزازش می کنم،
سپاس فراوان از شما
نویسنده: تنهاامامي
زمان: ۰۳:۵۳:۵۷ - تاریخ: ۱۳۹۲/۰۸/۱۱
سلام. و تشكر بابت مطالب بسيار مفيد و كاربردي شما
بنده وب سايتي دارم با يك چيزي حدود پنج هزار صفحه، كه به دليل تغيير زبان برنامه نويسي كليه لينكهاي قبلي نامعتبر خواهند شد.
ايا بحث redirect 301 را براي اين پنج هزار صفحه بايد دونه به دونه انجام داد يا راه حلي وجود دارد كه با يه الگوريتم يا فرمول براي همه انجام داد؟ و كلا اين موضوع چقدر زمانبر است؟ اگر راهنمايي كنيد كمك بزرگي به ما خواهد شد.
با تشكر
تنهاامامي
پاسخ: 
سلام
سیستم سایت از چه زبانی و به چه زبانی تغییر می کند؟
در هر صورت ایجاد برنامه انتقال خودکار امکانپذیر است، هر چند زمان طراحی آن بسته به میزان تفاوت ساختار و پارامترهای لینک ها می تواند متفاوت باشد.
نویسنده: Ali Zeus
زمان: ۲۳:۰۱:۱۴ - تاریخ: ۱۳۹۳/۰۵/۳۰
با سلام و خسته نباشید
چطور میشه یک پوشه با خطای 403 ساخت؟ به گونه ای که چند نوع پسوند (مثلا عکس png jpg gif) و در صورت موجود بودن اجرا شوند و در غیر اینصورت خطای 403 فوربیدن نمایش داده شود (دسترسی به دیگر فایلها غیر ممکن باشد)
//در ضمن فایل نمایش دهنده خطا در پوشه ای بصورتی که تمامی خطاها (404 403 500 و غیره) به یک فایل پی اچ پی ارسال میکنم و با
$_SERVER["REDIRECT_STATUS"]
برای هر خطا یک پیام تعین کردم
پاسخ: 
سلام
دقیق متوجه سوالتان نشدیم، اما برای تنظیم یک فایل سفارشی جهت نمایش پیام های خطای سرور، می توانید در فایل htaccess نمونه دستورات زیر را قرار دهید:
ErrorDocument 500 /path/500.php
ErrorDocument 406 /path/406.php
ErrorDocument 404 /path/404.php
ErrorDocument 403 /path/403.php
ErrorDocument 400 /path/400.php
نکته: در این مثال فایل های خطا در دایرکتوری path قرار دارند و فایل htaccess در ریشه سایت.
نویسنده: Ali Zeus
زمان: ۱۳:۱۸:۴۸ - تاریخ: ۱۳۹۳/۰۶/۰۱
با سلام و تشکر
بله سوالم رو نا مفهوم پرسیدم
منظورم اینه که میخوام یه پوشه بسازم برای عکس بطوری که فقط تصاویر توش اجرا بشه و در صورت اجرای فایل هایی غیر از عکس، خطای 403 فوربیدن نمایش داده بشه
یعنی مثلا فقط پسوند های jpg gif png قابل اجرا باشه
//مثلا اگر کاربر یک فایل مثلا پی اچ پی موجود در اون پوشه رو اجرا کنه، خطای 403 نمایش داده شه
ممنون
پاسخ: 
برای محدود کردن فرمت های مجاز در یک دایرکتوری می توانید درون فایل htaccess در آن دایرکتوری، دستورات زیر را قرار دهید:
order allow,deny
deny from all
<Files ~ "\.(jpq|jpeg|png|gif)$">
order deny,allow
allow from all
</Files>
نویسنده: Ali Zeus
زمان: ۱۹:۴۲:۱۳ - تاریخ: ۱۳۹۳/۰۶/۰۲
با سلام
یه دنیا ممنون
مشکلم حل شد
نویسنده: 404 تستر
زمان: ۰۳:۲۴:۵۱ - تاریخ: ۱۳۹۴/۰۲/۰۵
با سلام
با استفاده از ابزار 404 تستر می تونید چک کنید که صفحه 404 سایت به درستی تنظیم شده یا نه.
آدرس ابزار 404 تستر:
http://www.seosem.ir/tool/404tester
با تشکر
نویسنده: مهدی
زمان: ۰۴:۵۹:۳۹ - تاریخ: ۱۳۹۴/۰۲/۲۲
سلام اقا به داد ما برسید من انجمنم با دو ادرس باز میشه
forum.site.com
site.com/forum
مطالب نه اما بخش مختلف انجمن هم دو ادرسه هست بهترین کد انتقال برای انجمن چیه 301 ؟
میشه یه کد استاندارد بدید برای انجمن مای بی بی
پاسخ: 
سلام
ریدایرکت 301 یک روش استاندارد با هدفی مشخص است، بهترین حالت بستگی به هدف شما دارد، اگر یک آدرس به آدرس دیگر ترجیح دارد، ضمن حذف قایلیت دسترسی به صفحات از آدرس فرعی، آدرس های قبلی را به آدرس اصلی با کد 301 ریدایرکت کنید (انجام بخش کدنویسی این کار باید توسط فردی انجام شود که با سیستم انجمن ساز شما آشنایی کافی داشته باشد!).
نویسنده: سیما
زمان: ۱۸:۲۶:۱۳ - تاریخ: ۱۳۹۴/۰۶/۲۶
سلام کدهای که گفتید استفاده کردم اما هیچ کدوم کار نکرد
در سایتم مطالب حذف کردم و در وب مستر تولز ارور 404 چجوری میتونم همه مطالب حذف شده به صحفه اصلی ریدایکت کنم که ارور 404 و soft 404 error نده؟
پاسخ: 
سلام
کدهای توضیح داده شده روش های استاندارد حال حاضر وب هستند (نظر شخصی نویسنده مطلب نیستند!)، صرف درج این دستورات کافی نیست، اینکه واقعا آدرس های درخواستی سایت شما چه کد HTTP برگردانند نیاز به تست و بررسی دارد، اینکه تصور کنید آدرسی کد HTTP خاصی برمی گرداند کافی نیست، باید با ابزارهایی دقیق، پاسخ سرور را در سربرگ های HTTP مشاهده کنید، ضمن اینکه فرآیند حذف خطاها از گوگل وبمستر زمانبر است و به فرض هر هفته یک بار می توان انتظار تغییر در نتایج را داشت!، در کل با کد 301 می توان هر محتوایی را بدون از دست دادن ارزش لینک به محتوای دیگر منتقل کرد.
نویسنده: محمد رضا
زمان: ۱۹:۰۶:۰۶ - تاریخ: ۱۳۹۴/۱۲/۱۷
سلام . خسته نباشید .
برای مثال یک وب سایت دارم
میخوایم به طور دائم با آدرس همراه با www باز بشه برای اینکار باید چیکار کنیم یعنی هرکس آدرس
http://test.com
رو زد
http://www.test.com
باز شه و همه ی صفحاتشم با www باز بشه ..
لطفا کمک کنید خیلی واجبه ممنون از سایت خوبتون ...
پاسخ: 
می توانید دستور htaccess زیر را در ریشه سایت قرار دهید:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
اگر از HTTPS استفاده می کنید:
RewriteEngine On
RewriteCond %{HTTPS}s ^on(s)|
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http%1://www.%{HTTP_HOST}/$1 [R=301,L]
نویسنده: ریدایرکت 301
زمان: ۰۱:۵۵:۳۱ - تاریخ: ۱۳۹۴/۱۲/۲۰
درباره ریدایرکت ۳۰۱ سوال داشتم
چه چیزی باعث میشه ریدایرکت ۳۰۱ زده شده که از وبمستر هم چند اف ادرس زده شده سریع تر صورت بگیره؟
شنیدم وقتی مثال دامین فیلتر میشه و ریدایرکت میزنیم اگر برای دامین فیلترمون ای پی بخریم (ای پی بدیم بهش) سریعتر ریدایرکت میشه اگر میشه راهنمایی کنید که چجوری میشه کاری کرد که دامین کمتر از ۲ روز ریدایرکتش انجام بشه
یا اینکه سریعتر باشه ریدایرکت
ممنون میشم کمک کنید بهم
پاسخ: 
سوالتان مبهم است! اگر منظورتان تسریع در روند دسترسی به دامنه تازه ثبت شده و فعال شدن DNS ها است، این موضوع در اختیار کاربر یا تنظیمات سرور نیست، بلکه به کارگذار دامنه (به طور مثال سایت nic.ir برای دامنه های کشوری ایران) ارتباط دارد و هر کارگذاری سیاست های خاص خودش را در این زمینه اعمال می کند.
more لطفا پیش از ارسال یادداشت نکات زیر را مد نظر داشته باشید:
- مواردی که به کلی خارج از موضوع این مطلب هستند را در فرم منوی "تماس با ما" مطرح و پاسخ را از طریق ایمیل دریافت کنید.
- به سوالات کلی، مبهم، غیرضروری و مشکلاتی که تلاشی برای رفع آن نکرده باشید پاسخ خاصی داده نخواهد شد.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین قرار دهید تا امکان تست و بررسی وجود داشته باشد.
- تمام یادداشت ها بررسی و برای هر کاربر زمان مشخصی جهت پاسخگویی در نظر گرفته می شود، لذا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.




1 × 1
 refresh
نکته:
با توجه به تاریخ نگارش آموزش های سایت و پیشرفت تکنولوژی های مرتبط با وب در سالیان اخیر، محتوای برخی از مطالب قدیمی ممکن است نیاز به ویرایش و به روزرسانی داشته باشد که این کار هم زمان با تهیه نسخه جدید «وبگو» به مرور در حال انجام است، لطفا در استفاده از مطالب سایت به این نکته دقت داشته و حتی المقدور از چند منبع مختلف استفاده نمائید.
آخرین دیدگاه ها
form adel
در:
سلام با تشکر از سایت خوب شما. یه سوال داشتم چگونه تمام این کدها را در جاوا اسکریپت همزمان قرار دهیم. من مثلا دستور این...
۲۱:۲۵:۴۰ ۱۳۹۸/۰۸/۲۴

form یه سوال کننده
در:
سلام. ببخشید چطور میشه ایمیل هایی رو میفرستن که ریپلای زدن رو ایمیلی که از طرف ما نبوده بیشتر تو تبلیغات دیدم امیدوارم منظورم و...
۰۳:۲۳:۰۸ ۱۳۹۸/۰۸/۲۴

form پرتو
در:
با عرض سلام و خسته نباشید امیدوارم حالتون خوب باشه من دو سه سال پیش وبلاگم رو حذف کردم ایا امکانش هست برگرده؟ ادرس...
۱۴:۵۵:۵۲ ۱۳۹۸/۰۸/۲۰

form علی
در:
سلام من نمی تونم html tag رو چطور در وبلاگم قرار بدم وبلاگم اینه
tagtak.blog.ir
۱۰:۲۳:۳۴ ۱۳۹۸/۰۸/۲۰

form حمید
در:
سلام. خسته نباشید. من میخاستم استایل فیلدهای فرمم رو تغییر بدم منتهی نمیدونم از چه کدهایی باید استفاده کنم. برای اینکه فرمی به شکل...
۱۰:۳۶:۱۹ ۱۳۹۸/۰۸/۱۹

form سمیه
در:
سلام ممنون بابت آموزش مفیدتون توی تگ ها هرچیزی که در تگ head قرار بگیره نمایش داده نمیشه، اما ممنون میشم...
۲۰:۴۹:۲۳ ۱۳۹۸/۰۸/۱۷

form استادمجازی
در:
سلام. از ادمین عزیز و همگی دعوت می کنم آموزش های خوبتون را بصورت آموزش ویدیویی یا صوتی و... در سایت ostadmajazi.com استادمجازی ...
۲۲:۱۲:۲۳ ۱۳۹۸/۰۸/۱۳

form mohamad
در:
سلام و خسته نباشید ، توی فرمی که ساختم چند تا drop down دارم که میخوام با php براشون شرط بذارم به طوری...
۱۳:۵۱:۳۴ ۱۳۹۸/۰۸/۱۰

form رضا
در:
خسته نباشید این جلسه آخر html بود؟؟؟؟
۰۱:۱۵:۰۷ ۱۳۹۸/۰۸/۱۰

form امیرمحمد
در:
سلام و خسته نباشید استاد بنده میخوام بین دو کد زیر که مشخص کردم رو به دست بیارم
// ---------------------set سلام...
۱۹:۳۰:۵۳ ۱۳۹۸/۰۸/۰۸

form حجت
در:
خیلی ممنونم از لطف شما. اوکی شد.
۱۰:۲۸:۳۵ ۱۳۹۸/۰۸/۰۶

form میلاد
در:
آشنایی نسبی با css, php و ajax دارم و نمیخام از library های موجود در نت استفاده کنم. خواستم با همین متد که انصافا روان...
۲۳:۲۲:۵۵ ۱۳۹۸/۰۸/۰۵

form عرفان
در:
با سلام. مدتی بود که بدلایل مشکلات زیاد نتونستم به وبلاگم رسیدگی کنم ولی وقتی برگشتم میبینم که هزاران بازدید داشتم و همشونم به زبان...
۲۲:۴۹:۴۴ ۱۳۹۸/۰۸/۰۵

form raha
در:
سلام وقتتون بخیر ببخشید علامت @ در کل به چه معناست ممنون میشم پاسخ دهید
۲۰:۱۲:۵۹ ۱۳۹۸/۰۸/۰۵

form میلاد
در:
باسلام تشکر از مطالب روان و پرکاربردتان. در خصوص آموزش مذکور، نحوه و ترفند نمایش محور عمودی در سمت چپ نمودار (مشابه...
۰۲:۳۸:۴۰ ۱۳۹۸/۰۸/۰۵