javascript как переключить путь к окну.местоположение и перенаправить

Я хочу перенаправить пользователя с разных URL-адресов на конкретный. Я пробовал различные варианты замены, и я не могу получить поведение, которое я хочу. Этот код работает, за исключением того, что я предоставляю имя хоста. Я хочу использовать существующее имя из окна.местоположение.hostname и просто укажите новый путь. Иногда URL-адреса различаются по размеру и Слэша ('/').

window.location = 'http://localhost:36065/NewPath';

Как бы я изменил эти URL-адреса?

http://somesite.com/xxx/yyy/zzz to http://somesite.com/NewPath
http://somesite.com/xxx/yyy to http://somesite.com/NewPath
http://somesite.com/xxx to http://somesite.com/NewPath

Я думаю, вы поняли. Путь может варьироваться в пути, я хочу заменить все после .com в основном с "NewPath"

Я хотел бы чистое решение regex, если это возможно, но я довольно новичок в этом отделе. Спасибо за любые советы или трюки.

3 ответов


location.pathname = '/newpath.html'

вы всегда можете использовать различные location свойства чтобы воссоздать нужную вам часть и добавить к ней новую часть:

window.location = location.protocol + "//" + location.hostname + "/NewPath";

просто чтобы показать трудный путь:

// Find everything up to the first slash and save it in a backreference
regexp = /(\w+:\/\/[^\/]+)\/.*/;

// Replace the href with the backreference and the new uri
newurl = windows.location.href.replace(regexp, "/dir/foo/bar/newpage.html");