2016-04-08 17 views
0

Wie leite ich die folgende lange Link:.htaccess redirect nicht lange URL arbeiten

http://www.vbpmonitor.com/index.php?option=com_content&view=article&id=24&utm_source=MagnetMail&utm_medium=email&[email protected]&utm_content=EVVWP040716&utm_campaign=White%20Paper%3A%20Optimizing%20VBM%20Quality%20Tiering%20for%20Physicians

zu

http://www.vbpmonitor.com/optimizing-vbm-quality-tiering-for-physicians

Redirect 301 /index.php?option=com_content&view=article&id=24&utm_source=MagnetMail&utm_medium=email&[email protected]&utm_content=EVVWP040716&utm_campaign=White%20Paper%3A%20Optimizing%20VBM%20Quality%20Tiering%20for%20Physicians http://www.vbpmonitor.com/optimizing-vbm-quality-tiering-for-physicians 
+0

Wie erwarten Sie uns mit Ihrer bestehenden Umleitungsregel zu helfen, wenn Sie uns diese nicht zeigen? – arkascha

+0

Könnten Sie bitte den 'edit' Button unterhalb Ihrer Frage benutzen, um weitere Details und Informationen hinzuzufügen? So bleiben die Dinge lesbar ... Danke! – arkascha

+0

Bitte erläutern Sie auch, was _exactly_ Sie mit "funktioniert nicht" meinen. Was heißt das eigentlich? Tritt kein Neuschreiben auf? Ist das Umschreiben irgendwie falsch? Erhalten Sie einen Fehler? Oder eine leere Seite? Zerbricht das Universum? Du siehst, wir können nicht über deine Schulter schauen. Sie müssen uns sagen ... – arkascha

Antwort

1

Wie oben erwähnt in den Kommentaren Ich vermute, dass Sie haben hier einen Fehler in Ihrer Logik und in Wirklichkeit wollen Sie umleiten, um anders herum zu arbeiten. Die Umleitung von der langen auf die suchmaschinenfreundliche URL macht einfach keinen Sinn. Also:

eine Redirect Regel verwenden Sie könnten versuchen, dass statt:

Redirect 301 /optimizing-vbm-quality-tiering-for-physicians /index.php?option=com_content&view=article&id=24&utm_source=MagnetMail&utm_medium=email&[email protected]&utm_content=EVVWP040716&utm_campaign=White%20Paper%3A%20Optimizing%20VBM%20Quality%20Tiering%20for%20Physicians 

Dies wird eine eingehende Anforderung an die kurze URL an die tatsächlich vorhandenen lange URL umleiten. Das ist das übliche Szenario.

Wenn Sie jedoch wirklich dass kurze URL auf die lange Version umleiten möchten, dann können Sie nicht tun, mit einer Redirect Regel. Dies kann zum Beispiel der Fall sein, wenn Sie versehentlich diese lange URL gesendet haben und eine funktionierende Umleitung für die kurze Version eingerichtet haben. Leider erklärst du nichts darüber in deiner Frage oder Kommentare, so kann ich hier nur erraten.

Sie müssten das flexiblere Überschreibungsmodul verwenden und eine Kombination aus RewriteCond und RewriteRule verwenden. Dies ermöglicht es, bestimmte Muster von Anforderungs-URLs auszuschneiden und "neu zu gestalten", wie die Anfrage nach dem Umschreiben aussehen soll.

Dies wäre ein einfaches Beispiel, die für Datei index.php der langen URL Umschreiben der Anfrage zwei Bedingungen gilt:

RewriteEngine on 
RewriteCond %{QUERY_STRING} view=article 
RewriteCond %{QUERY_STRING} id=24 
RewriteRule ^/?index\.php$ /optimizing-vbm-quality-tiering-for-physicians [L,R=301] 

Hinweis: in dieser Version sollten beide arbeiten in der http-Server-Host-Konfiguration und auch diese .htaccess Style-Dateien. Wo sollten Sie immer die erste Option bevorzugen, wenn Sie Zugang haben.

Wie oben gesagt, kann ich nur hier mit den spärlichen Informationen, die Sie angegeben haben, erraten. Ich habe zwei von vielen Anforderungsargumenten ausgewählt, da diese diejenigen zu sein scheinen, die als eindeutige Identifizierer am besten geeignet sind. Aber Sie müssen möglicherweise Dinge zwicken. Beachten Sie, dass standardmäßig RewriteCond s durch eine logische AND kombiniert werden, so dass sie beide müssen etwas Truish lösen.

Für genauere Angaben über diese Dinge Ich mag würden Sie auf der offiziellen Dokumentation dieser Module wieder zeigen. Die Dokumentation ist sehr präzise, ​​gut geschrieben und kommt mit guten Beispielen. Ich würde immer die Informationen dort zu Schnipseln bevorzugen, die Sie irgendwo im Internet oder teilweise Antworten auf Fragen finden ...

  1. http://httpd.apache.org/docs/current/mod/mod_alias.html#redirect
  2. http://httpd.apache.org/docs/current/mod/mod_rewrite.html