質問は簡単に思えますが、3日間検索した後、あきらめました。ここで見つけられると思ったのですが、似たようなものがあるようですが、このようなものでは機能しません。
現在、以前の JS/AJAX 駆動の Web サイトに基づいて、非常に高度なマーケティングを行っている顧客がいます。彼のウェブサイトへのすべてのバックリンクは
サーバー/#! リンク
私はワードプレスのウェブサイトを構築しましたが、クロスリンクがページを適切に開くようにする必要があります。
しかし、私がこのリンクを取得した場合
サーバー/#! リンク
Wordpressで処理すると以下のURLが取得できます
サーバー /
唯一の方法、または少なくとも私が知っている唯一の方法はワードプレスで行うことですが、それは簡単ではないようです.
#! を追加できる次のスクリプトがあります。しかし、削除する必要があります(どこかで見つけました)
<?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;
}