Redirect 如何重定向以#开头的地址!

Redirect 如何重定向以#开头的地址!,redirect,Redirect,我有一个新的wordpress网站,而不是我以前的Wix网站。 在旧的页面中,有与此页面所在的新页面类似的页面地址 我尝试了3个重定向插件,但都不起作用(重定向、重定向编辑器、快速301重定向) 我无法访问.htaccess文件 在重定向时,引擎似乎看不到URL。 除了JS还有什么好主意吗?我不想错过google juice浏览器不会将#之后的部分发送到服务器,因此服务器不知道该部分,也无法执行重定向 因此,您必须在javascript中执行重定向: if (/^#contact\//.test

我有一个新的wordpress网站,而不是我以前的Wix网站。 在旧的页面中,有与此页面所在的新页面类似的页面地址

我尝试了3个重定向插件,但都不起作用(重定向、重定向编辑器、快速301重定向)

我无法访问.htaccess文件 在重定向时,引擎似乎看不到URL。
除了JS还有什么好主意吗?我不想错过google juice

浏览器不会将
#
之后的部分发送到服务器,因此服务器不知道该部分,也无法执行重定向

因此,您必须在javascript中执行重定向:

if (/^#contact\//.test(document.location.hash)) {
    document.location = '/contact';
}

出于搜索引擎优化的目的,您可能也想处理这个参数

我几周前就遇到了这个问题

PHP在散列标记之后不会得到任何内容,所以不可能解析请求url并获取散列。但是JavaScript可以

下面,您可以通过标签找到我的WordPress重定向解决方案#!: (您应该将此代码放在活动主题的functions.php中):

函数themee\u hash\u redirects(){
?>
函数themee_hashtag_redirect(hashtag,url){
var locationHash=document.location.hash;
if(locationHash.match(/#!/img)){
if(hashtag==locationHash){
document.location.href=url;
}
}
}
//示例如何使用Mee_hashtag_重定向
Mee_标签重定向(“#!contact”、“/qqq/”);
mee_hashtag_redirect('#!zzz','/aaa/');

您必须在JavaScript中执行此操作。散列和其后的任何内容都不是请求URI的一部分,只是由用户代理在内部使用。.htaccess或PHP从未看到此部分。欢迎使用堆栈溢出!感谢发布您的答案!请务必仔细阅读。还请注意,每次链接到你自己的网站/产品。
function themee_hash_redirects() {
    ?>
    <script type="text/javascript">
        function themee_hashtag_redirect( hashtag, url) {
            var locationHash = document.location.hash;
            if ( locationHash.match(/#!/img) ) {
                if ( hashtag == locationHash ) {
                    document.location.href = url;
                }
            }
        }
        // Examples how to use themee_hashtag_redirect
        themee_hashtag_redirect('#!contact', '/qqq/');
        themee_hashtag_redirect('#!zzz', '/aaa/');
    </script>
<?php
}
add_action('wp_footer', 'themee_hash_redirects');