Htaccess - RewriteRule für URL mit #

rongador

Commander
Registriert
Mai 2011
Beiträge
2.354
Hi,

vielleicht eine ungewöhnliche Frage im Bezug auf RewriteRules in der Htaccess-Datei. Es geht darum, dass sich noch manche alte URLs meiner früheren Webseite im Internet tummeln, bei denen ich (aus nicht näher nennenswerten, aber damals relevanten Gründen) neben meiner Domain /# hatte, also zum Beispiel www.abcdefgh.de/#/1234567 usw.

Jetzt möchte ich gerne eine RewriteRule erzeugen, welche genau solche URLs (mit diesem "/#/" drin) auf meine Startseite umleitet. Aktuell wird zwar ebenfalls nbei Aufruf dieser URLs die Startseite angezeigt, aber mit dieser "falschen" URL sichtbar in der Adresszeile. Sie wird also (logischerweise) nicht als fehlende Seite (404) erkannt.

Meine bisherigen RewriteRules funktionieren einwandfrei, so zum Beispiel:

RewriteRule ^abcdef(.*)$ / [L,R=301]

Auf diese Weise wird also z.B. die URL mit einem /abcdef zur Startseite umgeleitet.

Ausgehend davon dachte ich, dass ich das Problem mit den /#/ URLs so auch lösen kann, z.B. so:

RewriteRule ^#/(.*)$ / [L,R=301]

Hinter das # muss unbedingt ein / mit dazu, denn aktuell gibt es auch bei manchen Seiten auf der Webseite typische "Ankerpunkte" inmitten von Beiträgen, um zu den jeweiligen Bereichen innerhalb eines Beitrages zu springen (ist ja üblich. Diese URLs sollen natürlich NICHT auf die Startseite geleitet werden. Daher dürfte die RewriteRule nicht so lauten, dass alle URLs mit einem # umgeleitet werden sollen, sondern alle URLs, die nach der Hauptdomainadresse ein "/#/" stehen haben.

Kennt jemand die Lösung für die korrekte RewriteRule für diesen Fall?

CU
 
Das # ist lokal und wird nicht an den Web Server weiter gereicht so mit auch kein Rewrite Möglichkeit [[ und selbst wenn du ein Redirect machst behält der Browser den #Anker bei wirst du also nicht los ]]

Bleibt dir nur das mit JavaScript zu schaukeln das dann lokal auf die URL gucken kann welcher #Anker da dran klebt

Oder du suchst dir was anderes als #

PS: Was du vielleicht eigentlich willst ist ein link rel canonical in deinem HTML Quell Text
 
Zuletzt bearbeitet:
@kieleich Hmm, Canonical-Links kenne ich, aber nicht in diesem Bezug - die noch im Web zu findende URL (mit dem #) existiert ja praktisch nicht mehr, wird aber dadurch auch nach wie vor in Statistiken erfasst. Sie soll praktisch umgeleitet werden zur Startseite. Das Argument mit dem Anker per Browser kann ich nachvollziehen...

Wie stellst Du Dir das denn mit dem rel canonical in diesem direkten Bezug vor?
 
canonical hilft nur wenn du komische URL Elemente hast die aber für Suchmaschine keine Rolle spielen sollen

die Umleitung macht man ja auch oft nur für die Suchmaschine

mit Canonical wird eben die "offizielle" URL ohne Extras mit geteilt egal auf welchem Weg man auf dieser Seite gelandet ist

es ist leider immer so das man keine Kontrolle hat wie andere auf dich verlinken

das der Anker an sich nicht existiert, wird die Suchmaschine hoffentlich, selber merken ...

wenn du den Anker selbst greifen willst bleibt dir wie gesagt nur JavaScript
 
Okay, also ist da praktisch nichts zu machen. Danke für Deine Beratung!
 
Zurück
Oben