Hallo,
ich hab' diesen Thread schon unter http://forum.de.selfhtml.org/archiv/2002/7/17754/#m99742 begonnen, aber jetzt das Thema nochmal präzisiert.
Wie lässt sich Folgendes am besten realisieren:
Ich möchte auf einer Seite Links angeben, die statisch "aussehen", also auch von Suchmaschinen leicht indiziert werden können, die aber serverseitig nicht vorhanden sind, sondern per url-redirect auf ein skript verweisen (das skript hab ich in perl schon fertig) das bei Aufruf sauberen HTML code erzeugt.
Virtueller Apache server bei einem Webhoster;
struktur
/ www-root
/cgi-bin/ darin ist das redirect.cgi
/sub in dieses Verzeichnis zeigen die "statischen' URLs
/sonstwas
Ich hab mir ein paar Lösungen überlegt, stehe aber überall letztlich wieder an.
Ein einfacher Redirect per .htacces Datei in das Verzeichnis /sub mit einer Zeile wie folgt wäre kaum eine CPU-Belastung. ABER
Redirect /*.html /cgi-bin/redirect.cgi
bringt nur 404-Fehler. Was mache ich falsch?
b) ein mod_rewrite kostet mehr CPU-Zeit. Trotzdem versuch ichs, wieder eine .htaccess Datei ins Verzeichnis /sub
RewriteEngine on
RewriteBase [da fehlt was??]
RewriteCond /%{REQUEST_FILENAME} -f
RewriteRule ^/!(.*.html)$ /cgi-bin/redirect.cgi
bewirkt 404.error
ausserdem muss das Rufzeichen (!)=kein .html irgendwo andershin
dazu fehlt möglicherweise ein [R] am Ende der Rewrite Rule, da der Apache als erstes ein 404 file not found an den browser sendet, und danach der print "Location: http://..." Befehl aus meinem perl-script nicht mehr ausgeführt wird.
Falls meine Frage die Thematik des Forums sprengt und mir jemand hilft das Problem zu lösen, könnten wir die Lösung anschliessend posten. Beachtet werden sollte auch, dass der Server nicht überbelastet werden soll. Vielleicht geht ja auch ein einfaches
ErrorDocument 404 /cgi-bin/redirect.cgi
wenn jemand eine Lösung dafür hat, dass das redirect.cgi in dieser Form den print "Location: http://..." Befehl verweigert.
Bin auch für links/Literaturhinweise aller Art dankbar, also nicht zu faul mich durchzuknabbern, aber url-rewriting ist meist so beschrieben als hätte man selbst den server. Auf einem virtuellen host sind ja dazu noch die Pfade oft anders als in der Apache Dokumentation, aber wie man RewriteBase richtig setzt konnte ich auch nirgends finden.
Ächz ...