У меня есть этот тип URL-адресов, хранящихся в переменной PHP:
$url1 = 'https://localhost/mywebsite/help&action=something';
$url2 = 'https://localhost/mywebsite/jobs&action=one#profil';
$url3 = 'https://localhost/mywebsite/info&action=two&action2=something2';
$url4 = 'https://localhost/mywebsite/contact&action=one&action2=two#profil';
Я хочу заменить страницу help, jobs, info, contact
с home
очень просто, что-то вроде этого:
echo replaceUrl($url1);
https://localhost/mywebsite/home&action=something
echo replaceUrl($url2);
https://localhost/mywebsite/home&action=one#profil
echo replaceUrl($url3);
https://localhost/mywebsite/home&action=two&action2=something2
echo replaceUrl($url4);
https://localhost/mywebsite/home&action=one&action2=two#profil
Итак, вот решение, которое я нашел:
function replaceUrl($page){
$pieces = explode("/", $page);
$base = '';
for ($i=0; $i<count($pieces)-1; $i++) $base .= $pieces[$i].'/';
$hash = strpbrk($pieces[count($pieces)-1], '&#');
return $base.'home'.$hash;
}
Вы хотите добавить что-то вроде
RedirectMatch 301 help(.*) home$1
в ваш файл .htaccess. Я не уверен, что PHP — правильный инструмент для работы.
Если вы действительно хотите изменить строка со значением этого (что указывают ваши теги и комментарии), вы захотите сделать:
$url = "https://localhost/mywebsite/help&action=something#profil"$url = str_replace("help", "home", $url);
echo $url; // https://localhost/mywebsite/home&action=something#profil