Entfernen Sie doppelte Schrägstriche aus der URL [duplicate]

Lesezeit: 2 Minuten

Benutzer-Avatar
Benutzer3761459

Wie kann ich doppelte Schrägstriche aus der a-URL entfernen, aber das //, das danach kommt, beibehalten http: damit die URL nicht kaputt geht.

http://localhost//example/author/admin///

sollte sein

http://localhost/example/author/admin/

Ich versuche das, aber es entfernt nur den letzten Schrägstrich. Ich möchte alle doppelt entfernen

abc="http://localhost//example/author/admin///";
clean_url = abc.replace(/\/$/,'');
alert(clean_url);

Im Folgenden werden nur drei Schrägstriche überprüft.

clean_url = abc.replace("///", "");
alert(clean_url);

Ich möchte alle doppelten Schrägstriche entfernen.

  • Ich würde besser an der URL-Generierung arbeiten, damit nicht ein Schrägstrich auf einen anderen folgen kann. Wie werden diese URLs generiert?

    – sp00m

    24. Juni 2014 um 8:14 Uhr


  • Ich würde es an der Quelle beheben – warum sind diese doppelten Schrägstriche in der URL von Anfang an?

    – Rory McCrossan

    24. Juni 2014 um 8:14 Uhr

  • Ich verstehe, aber es ist eine ziemlich lange Geschichte. Ich versuche, die Paginierung innerhalb der Registerkarten zu verwenden. Wenn Sie sich also auf einem paginierten Link wie etwas/Musik/Seite/6 befinden und auf einen anderen Tab klicken und dann zur anderen Seite gehen, hat die URL immer noch die /page/6 vom vorherigen Tab, also muss ich die Paginierung entfernen Teil von der URL, wenn Sie die Registerkarten wechseln. Hoffe es macht Sinn.

    – Benutzer3761459

    24. Juni 2014 um 8:19 Uhr

  • Das Entfernen mehrerer Schrägstriche beschädigt im Allgemeinen die URL – die neue URL ist nicht dieselbe wie die alte.

    – Erinnere dich an Monika

    20. Juni um 10:39 Uhr

Benutzer-Avatar
Milind Anantwar

Sie können Folgendes verwenden:

abc.replace(/([^:]\/)\/+/g, "$1");

Arbeitsdemo

Aktualisieren: Bereits von Halcyon beantwortet

Benutzer-Avatar
Martynas

Diese Frage wurde schon mal beantwortet…

var str="http://localhost//example/author/admin///";    
var clean_url = str.replace(/([^:])(\/\/+)/g, '$1/');

alert(clean_url);

DEMO

Ich weiß, dass es verschiedene Antworten gibt, die dasselbe Problem lösen, nur ein anderer Ansatz 🙂

var s = "http://www.some-url.com//path//to";
var res = s.replace(/(https?:\/\/)|(\/)+/g, "$1$2");

Danke @Milind Anantwar

Ich verwende Folgendes in meiner [email protected], um doppelte Schrägstriche in der URL zu beheben.

'use strict';
exports.handler = (event, context, callback) => {

    // Get request from CloudFront event
    var request = event.Records[0].cf.request;

    // Extract the URI from the request
    var requestUrl = request.uri;

    // Match any duplicate double slashes in URL 
    var redirectUrl = requestUrl.replace(/([^:]\/)\/+/g, "$1");

    // Replace the received URI with the URI that includes the index page
    request.uri = redirectUrl;

    // Return to CloudFront
    return callback(null, request);
};

Benutzer-Avatar
Ali

PHP: Um zusätzliche Schrägstriche zu entfernen, funktioniert der folgende Code gut für mich

$path = preg_replace(‘#/+#’, “https://stackoverflow.com/”, $path);

  • Das sieht doch nicht nach jQuery aus

    – Nico Haase

    10. April 2018 um 20:20 Uhr

  • Das ist PHP-Code.

    – NullDev

    5. März 2021 um 11:48 Uhr

  • Das sieht doch nicht nach jQuery aus

    – Nico Haase

    10. April 2018 um 20:20 Uhr

  • Das ist PHP-Code.

    – NullDev

    5. März 2021 um 11:48 Uhr

1142440cookie-checkEntfernen Sie doppelte Schrägstriche aus der URL [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy