Lui Vasile Ruscior i-a fost mila de munca pe care o depuneam si a zis ca este cazul sa folosesc php pentru a face un redirect 301, nu prin httacces.
Acolo orice as fi încercat n-a vrut nici de nebun. S-au mai uitat câțiva, au încercat si ei, n-a reușit nimeni.
E drept ca m-am gândit la PHP, dar nu știam dacă sa ma scarpin cu stânga sau cu dreapta.
Soluția pentru redirectul URL-urilor este un cod mic în fișierul 404.php al temei.
Dacă îmi va permite, il voi face si public fără nicio problema. Ca sa nu mai muncească și alții ca niște indieni. 🙂
Acum nu trebuie decat sa „lipesc” link-urile pe care le-am rupt ca un but din interiorul articolelor. Am sters un / de la o parte din articole. Talent sau ce?! 😀
Codul este acesta:
<?php
$dupadomeniu = $_SERVER[‘REQUEST_URI’];
if(preg_match(‘/.htm/’, $dupadomeniu)) {
$pagina = str_replace(‘/’,’.’, $dupadomeniu);
$content = ‘asta’.$pagina;
list($asta, $categorie, $articol, $extensie) = explode(‘.’,$content);
header(„HTTP/1.1 301 Moved Permanently”); header(„location: „); die(); }
?>
E și asta o rezolvare, dar nu ideală. Gândește-te că headerul trimis e: HTTP/1.0 404 Not Found. Nu cred că Google-ul vede cu ochi buni această treabă.
Pai nu ramane permanent. E provizorie pana termin cu toate articolele de modificat. 🙂
In cod vad ca face redirect 301. 🙂
Face redirect 301, dar după ce a fost trimis un header de 404, adică în momentul în care vechiul url a fost redirecționat către 404.php. 🙂
So true!
O sa ma lupt sa le rezolv pe toate.
Cate mai ai?
Restul. La job n-am facut nimic. Lene acuta. 😀
Cum e posibil sa trimita doua status code-uri?
Nu cred că ai înțeles. În 404.php cu ce status code ajunge, nu cu un 404? 🙂 Nu sunt două status code-uri simultan, vorbim de două headere diferite. Eu am obiectat la ordinea lor, 404, iar apoi 301.
@Stefan, @Marius,
Google chiar recomanda redirect 301 in situatii de astea: https://support.google.com/webmasters/answer/93633?hl=en
Provizoriu sa zicem ca merge, ce va fi vom vedea.
Un generator .htaccess perfect pentru ce ai tu nevoie… în caz că nu-i prea ok chestia cu 404
Cât despre codul php, mi-am dat seamă că se putea rezolva şi mai uşor folosind funcţia „basename”.
A fost primul pe care l-am folosit, cel de la Yoast. N-a functionat la mine.