Вопрос кажется легким, но после 3 дней поиска я сдался. Я думал, что найду его здесь, и похоже, что он похож, но он не работает для этого.Wordpress - удалить #! символы от URL-адреса
В настоящее время у меня есть клиент, который имеет действительно продвинутый маркетинг, основанный на его предыдущем веб-сайте JS/AJAX. Ссылка на свой сайт похожа на
SERVER /#! LINK
Я создал сайт WordPress, и мне нужно, чтобы перекрестные ссылки открывали страницы должным образом.
Но если я получаю эту ссылку
SERVER /#! LINK
Я получаю следующий URL, когда процесс Wordpress это
SERVER/
Я исследовал, что единственный путь, или, по крайней мере, знаю только я это делать это с wordpress, но это не кажется легким.
У меня есть следующий сценарий, который может ADD #! но нужно удалить (только что нашел его где-нибудь)
<?php
$webSiteUrl = get_bloginfo('url')."/";
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {
$pageURL .= "s";
};
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
};
if($webSiteUrl!=$pageURL){
$pageHash = substr($pageURL, strlen($webSiteUrl), strlen($pageURL));
header("location:".$webSiteUrl."#!/".$pageHash."");
exit;
};
?>
Благодаря брезгливым грифа Я почти там. Я использовал этот сценарий как один вы предоставили были некоторые проблемы с условием
if ('' !== window.location.hash && '#!' !== window.location.hash) {
hash = location.hash.match(/^#!(.*)/)[1];
/* ... do something with hash, like redirecting to */
/* another page, or loading page content via AJAX. */
/* If all you want to do is remove everything from */
/* the URL starting with `#!', then try this: */
location.href = location.protocol+'//'+location.host+location.pathname;
}
Это похоже на работу, но я получаю корневую страницу.
например. Я открываю
myweb.com/#!thisone
и я получаю
myweb.com/
И ПРОСТО Суммировать так кто-то может сэкономить много времени - рабочий сценарий
if ('' !== window.location.hash && '!' !== window.location.hash) {
hash = location.hash.match(/^#!(.*)/)[1];
/* ... do something with hash, like redirecting to */
/* another page, or loading page content via AJAX. */
/* If all you want to do is remove everything from */
/* the URL starting with `#!', then try this: */
location.href = location.protocol+'//'+location.host+location.pathname+'/'+hash;
}
Спасибо, это помогло получить направление, и я почти там. Теперь я перенаправлен на предыдущую страницу по URL-адресу, я использовал этот скрипт: \t if (''! == window.location.hash && '#!'! == window.location.hash) { \t hash = location.hash .match [1] (/^# (*) /!.); \t/* ... делать что-то с хешем, например перенаправлять на */ \t/* другую страницу или загружать содержимое страницы через AJAX. */ \t/* Если все, что вам нужно сделать, это удалить все, от */ \t/* в URL, начиная с '#«, то попробуйте следующее: */ \t location.href = location.protocol + '! //' + location.host + location.pathname; \t} – AlexP
Просто ** ОГРОМНОЕ СПАСИБО ** для вас – AlexP