2016-07-23 12 views
1

Hier ist mein Problem.Wie mache ich eine große URL in eine kleinere URL mit angehängten Parametern?

Ich habe eine komplexe url - Beispiel: www.mywebsite.com/first/second/something/index.html

und ich möchte es in so etwas wie www.mywebsite.com/index.html konvertieren? a = 64 & e = 453

Ich habe das in einigen Websites gesehen.

Aber ich bin nicht in der Lage, herauszufinden, wie das gemacht wird. Jede Hilfe wird geschätzt.

+0

Sie müssen für einige Framework wie AngularJS oder Backbone gehen, die Unterstützung für das Routing hat. –

+0

Verwenden Sie eine db .. Speichern unter .. ID = 3 url = bldjfjdhdijdhdb (woteveryiucanputher) und rufen Sie als out.php? Bla = 3 – Gogol

Antwort

0

Die Antwort hängt sehr wahrscheinlich davon ab, welchen Webserver Sie verwenden. Wenn Sie Apache verwenden, können Sie dies mit mod_rewrite tun. Sie können sich auf genau eine Menge Dokumentation finden, wie diese sich online setzen:

http://httpd.apache.org/docs/current/mod/mod_rewrite.html https://www.sitepoint.com/apache-mod_rewrite-examples/

Zum Beispiel, wenn Sie einen URL-Parameter auf einen Pfad kartieren wollten Sie so etwas wie

RewriteCond %{QUERY_STRING}  a=64 [NC] 
RewriteRule ^/index.html$  /first/second/something/index.html  [NC,L,R=301] 
tun könnte

(Ich habe das nicht ausprobiert, so dass die Syntax möglicherweise nicht 100% korrekt ist.) Aber dann müssten Sie manuell eine Regel für jede Nummer zu Pfadzuordnung, die Sie wollen, erstellen, die eine Menge sein könnte arbeiten, also ist dies möglicherweise nicht die beste Lösung.

+0

Ich lese es und ich denke, das ist die Technik. Aber es ist ein super lange gelesen. Ist es möglich, dass Sie etwas genauer arbeiten können? Dann werde ich diese Antwort akzeptieren. – Adam

+0

Es ist nicht 100% klar, was Sie zu tun versuchen, aber ich kann versuchen, einige Details hinzuzufügen. – sew

+0

Danke Mann. Es ist nicht genau dasselbe, aber du hast mir die Hinweise gegeben, um mein Problem zu lösen. Ich denke, die Leute werden von der Antwort profitieren. Ich wusste nicht, dass dieses mod_rewrite wie ein 15+ Jahre altes Konzept ist! – Adam

0

Diese URLs werden von einer serverseitigen Programmiersprache wie PHP generiert. Die Seiten werden dynamisch generiert und sind in der Regel nicht wünschenswert (da "saubere" URLs einfacher zu lesen und zu bearbeiten sind und besser für SEO geeignet sind).

Technisch können Sie ?a=64 zu einer normalen Webadresse hinzufügen und es wird nicht verhindern, dass die Seite gerendert wird - aber ich bin nicht sicher, warum jemand dies tun möchte.

+0

Mein Name des Kunden ist Tobi auch :) Er ist ein Affiliate-Vermarkter und er will nur kürzere Links . Ich kenne PHP, also wie gehe ich dieses Problem an? – Adam

+0

Sie müssen Code zur Überprüfung posten - es ist schwierig zu sagen, was in diesem Fall die richtige Antwort wäre. – Toby