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(); }
?>
Stefan a zis
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ă.
Marius Cucu a zis
Pai nu ramane permanent. E provizorie pana termin cu toate articolele de modificat. 🙂
In cod vad ca face redirect 301. 🙂
Stefan a zis
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. 🙂
Marius Cucu a zis
So true!
O sa ma lupt sa le rezolv pe toate.
Ciprian Lospa a zis
Cate mai ai?
Marius Cucu a zis
Restul. La job n-am facut nimic. Lene acuta. 😀
Ionut Bajescu a zis
Cum e posibil sa trimita doua status code-uri?
Stefan a zis
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.
claudiu a zis
@Stefan, @Marius,
Google chiar recomanda redirect 301 in situatii de astea: https://support.google.com/webmasters/answer/93633?hl=en
Bucur a zis
Provizoriu sa zicem ca merge, ce va fi vom vedea.
VASI le R a zis
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”.
Marius Cucu a zis
A fost primul pe care l-am folosit, cel de la Yoast. N-a functionat la mine.