[megoldva] 301 redirect CGI-vel?

 ( bfoto | 2011. január 4., kedd - 21:02 )

Egy t-online-os tarhelyen szeretnek 301-es atrianyitast beallitani, de .htaccess-t nem enged, csak egy cgi-bin konyvtarat latok, gondolom ide kellene vmi szkript:

#!/usr/local/bin/perl
$q = new CGI;
print $q->redirect(" http:/www.new-url.com/ ");

Ezzel utana mit csinalok, hogy hivatkozom meg a html fajlbol? (Nem ertek ehhez, csak most muszaj vele kinlodni.)

Szerk.: koszonom a segitseget, .htaccessel sikerult megoldani vegul.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Mivel nem tudom milyen nyelvet lehet hasznalni cgi eseten en html-t vagy javascriptet javaslok.

js:

window.location.href='http://teoldalad.net/';

html:

--
1 leszel vagy 0 élő vagy hulla!

Gondolom Perl, Hello word-ot tudok futtatni, ha kozvetlenul hivatkozom a cgi fajlra. Mondjuk a fenti kodra internal server errort kapok, ha a bongeszo cimsorabol hivom meg, de gondolom nem igy kellene.

--
Direp

print $q->redirect(-status => 301, -uri => 'http://www.new-url.com/');

perldoc CGI es azon belul ha rakeresel redirectre, le is van ez irva. Dokumentacio rulez!

--
|8]

500 igy is sajnos, nem tudom mi baja lehet.
--
Direp

html:

<.meta http-equiv="refresh" content="0; url=http://www.yourdomain.com/index.html">

(a meta elé nem kell pont, de anélkül nem látszik)

php:

<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.yourdomain.com/index.html");
?>

--
Falu.me | Tárhely

Nah, most meg mar Internal server errort dob vissza az egesz oldal (ftp-n meg elerem, de barmit teszek, ez nem valtozik.)
--
Direp

Az ugyfelszolgalat sem tudta elharitani a hibat, valamit elronthattam. A cgi.t-online.hu azert meg megy.
--
Direp

Futtathato a file?

Van /usr/local/bin/perl? Esetleg /usr/bin/perl kene.

--
|8]

A cgi-s cimen a hello word meg mindig lefut, de az ftp-n a public_html-be feltoltott dolgok mar nem lathatoak, hiaba takaritottam mar ki mindent a cgi-bin-bol, egyszeruen nem erheto el a honlap. A ugyfelszolgalatos (T) atpasszolta egy okosabbnak az ugyet, aki konzultalt egy meg okosabbal, az pedig szol majd a tobbieknek es megnezik mi tortent. En meg varok, fogalmam sincs mit csinaltam. :)

usr/bin-nel amugy ugyanugy 500-at kapok (755-os jogosultsag), nem tudom mit akaszthatott ki ez a ket sor:

$q = new CGI;
print $q->redirect(-status => 301, -uri => 'http://valami);
--
Direp

Az, hogy hianyzik a vege, nincs bezarva a -uri => 'blah' :>

(vagy, ha az eredeti kodban be van, es itt csak masolasi hiba van, akkor lehet hogy nincs CGI modul). Meg mondjuk meg n+1 egyeb oka lehet amit a szakemberek majd jol megmondanak. Mondjuk ha ennyit lehet valamivel szivni, akkor ott valami mar nem kerek szerintem.

--
|8]

Hat nem sietnek a valasszal, meg mindig nem lehet elerni. Az url le volt zarva termeszetesen. En csak azt nem ertem, hogy mit tud csinalni egy ilyen CGI szkript, hogy utana elerhetetlen lesz az egesz aldomain?

Tanulsag: t-online-os tarhelyet nem szabad piszkalni, mert ha lesz valami gond, egy nap alatt sem javitjak ki. Most pl. feretettek a problemat es majd valamikor raneznek. Addig nekem elveszett egy rakas latogatom, a Google beindexelte az internal server errort, lap.hu-s oldalrol toroltek, mert nem el a link stb. Legalabb nem kell kinlodni a 301 redirecttel. :)
--
Direp

use CGI;

És azt szeretnéd, hogy minden www.old-url.com/xy/zzz/blabla.txt átirányuljon a www.new-url.com/xy/zzz/blabla.txt címre? .htaccess kell neked.

Nem megy sehogy, probaltam ugy, hogy feltoltom mas neven es atnevezem, de rogton el is tunik.
--
Direp

szerintem azert tunik el, mert a file neve ponttal kezdodik - ez amolyan rejtett file. ftp kliensed beallitasai kozott biztosan van olyan opcio, amivel lathatova teszed.
amugy az is meglehet, hogy a tarhelyszolgaltatod egyszeruen nem engedi a htaccess file-ok hasznalatat. probald meg az index.html-t lecserelni egy index.php-re az alabbi tartalommal:

<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.ujhelyed.hu");

Kozben kiderult, h megy .htaccessel szepen. A filezilla egyik panelja mutatja a rejtett fajt, a masik nem, illetve felmasolas utan egy pillanatig felvillan ott is, aztan eltunik, de attol meg dolgozik ("torolni" pedig csak ugy tudom, ha felulirom egy ures .htaccess fajllal). Igy en azt hittem, hogy azt rogton torlik onnan, ramentem meg CGI-vel is, igy valahogy 500 internal server error lett belole.

A problema masik oldala az volt, hogy - most egetem magam egy kicsit -, mar egy ideje mukodott az atiranyitasom, de ugyanazzal a bongeszovel probaltam ujra es a cache-t sem toroltem. Ez eleg lama dolog volt.

Szerk.: az, hogy nalam (es meg nehany ugyfelszolgalatosnal) nem latszott a .htaccess allitolag az aktiv/passziv mod miatt volt.
--
Direp

> Kozben kiderult, h megy .htaccessel szepen.
Ok. Ha ezek után a teljes régi domaint egy új domainre akarod irányítani, akkor:
Redirect 301 / http://www.new-url.com/

Ha esetleg most egy olyan oldalad van, hogy http://web.axelero.hu/xyz, akkor valószínűleg a következő fog működni:
Redirect 301 /xyz http://www.new-url.com/

> Szerk.: az, hogy nalam (es meg nehany ugyfelszolgalatosnal) nem latszott a .htaccess allitolag az aktiv/passziv mod miatt volt.
Nem hinném.

Nem domain, hanem (virtuális) szerver.

Koszi, kb. igy csinalam vegul.
--
Direp