2016-09-24 10 views
1

Also das ist wahrscheinlich ein Duplikat, aber ich habe jedes Beispiel hier erschöpft und nichts funktioniert.htaccess URL mit mehreren PHP-Parametern neu schreiben

Ich arbeite an einer Erwachsenen-Website für jemanden und benutze es als eine Entschuldigung, etwas auf dem Weg zu lernen.

Nehmen Sie diese URL: http://www.websitename.co.uk/profiles/masseur/profile.php?id=5&name=Erika%20S

ich es so aussehen wollen: http://www.websitename.co.uk/profiles/masseur/Erika_S

So 2 Dinge passieren müssen:

  • URL Rewrite ohne umgeleitet werden, ohne Berücksichtigung der id Parameter
  • Leerzeichen im Namen, der durch einen Unterstrich (oder einen Bindestrich) ersetzt wird

Rewrite ist aktiviert. Andere Umschreibungen funktionieren wie das Entfernen von Dateierweiterungen (ist das störend? Obwohl es nicht funktioniert, selbst wenn ich das deaktiviere.)

Ich verliere, was auch immer ich noch habe.

bitte helfen!

+0

So beginnen, zu verstehen, was genau Sie wollen: Der Benutzer sollte „geben http://www.websitename.co.uk/profiles/masseur/ Erika_S "in ihre Adressleiste, und dann bringst du die Seite unter" http://www.websitename.co.uk/profiles/masseur/profile.php?id=5&name=Erika%20S "zurück? (Wenn dies der Fall ist, können Sie das nicht mit der URL-Umleitung tun, da es keine Möglichkeit gibt, zu wissen, wie Ihre _id_-Variable sein sollte, am nächsten kommt man "http: //www.websitename. co.uk/profiles/masseur/profile.php?name=Erika%20S " –

+0

Ich hätte konkreter sein sollen. Der erste Link ist die tatsächliche URL, die erscheint, wenn ein Link angeklickt wird. Ich möchte, dass er als zweiter Link erscheint in der Adressleiste –

+0

Wenn Sie keine Weiterleitung verwenden möchten, müssen Sie Javascript verwenden.Die Rewrite-Engine auf der Serverseite interpretiert nur URLs, die auf den Server kommen, und ändert sie, bevor sie an Ihr Web weitergeleitet werden Die einzige Möglichkeit, die URL des Browsers von der Seite des Servers zu ändern, besteht darin, den Browser über eine Weiterleitungsantwort an eine neue URL zu verweisen (Browser wird umgeleitet). –

Antwort

0

Woher wissen Sie, welche ID zu verwenden ist? Sie können möglicherweise eine Rewrite-Karte verwenden, um nachzuschlagen, aber es hängt davon ab, wie Sie wissen, was es ist (wie Heinrich in den Kommentaren darauf hingewiesen hat).

Auch die Übersetzung der '_' in ein Leerzeichen, obwohl möglich, wäre viel einfacher zu tun in profile.php, dass in der Neuschreibung. Was etwas verwirrend ist, ist, dass Sie Leerzeichen in Unterstriche übersetzen möchten, aber in Ihrem Beispiel tun Sie das Gegenteil (zumindest für codierte Leerzeichen). Kannst du mein Missverständnis klären oder korrigieren?

Hier ist eine Grundregel, die Sie aus

RewriteRule ^/profiles/masseur/(\w+) /profiles/masseur/profile.php?id=5&name=$1

Verwandte Themen