我正在工作的公司有一个基于WIX的网站。我在WordPress上重新创建了网站,移动了托管并重定向了域名。然后我尝试使用标准.httaccess文件301重定向将页面重定向到WordPress站点上的新URL。
重定向301 /#!product / prd1 / 1063533171/42%22-workstation-(mc-42)http://www.mydomain.com/product/workstation/
我现在发现WIX在url链接结构中使用了hashbang(#!)。
如何执行301重定向并保留以前的网页排名?
答案 0 :(得分:1)
我设法通过将此代码(由Themee)添加到我的主题目录上的functions.php,从wix重定向到wordpress。
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('#!dvd-content/c1yws', '/dvd-content/');
themee_hashtag_redirect('#!krav-maga-shirts/c9r5', '/krav-maga-shirts/');
</script>
<?php
}
add_action('wp_footer', 'themee_hash_redirects');
据我所知,这只会帮助您将访问者重定向到正确的URL,但对SEO没有帮助。 我认为下一个代码(在.htaccess文件中)应该有助于SEO,但仍然需要一些我不知道的修改。这是&#34; barryhunter&#34;的帮助。来自Google论坛。
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=krav-maga-shirts/c9r5
RewriteRule ^$ http://www.972kravmaga.com/krav-maga-shirts [QSA,L]
它是一个页面重定向的示例。帮助我的人说可以检查它是否在这个页面上工作:http://www.rexswain.com
如果有人能确定究竟应该在.htacess文件中写什么,那将会很好。
答案 1 :(得分:0)
我有同样的情况。我找到的唯一解决方案是使用以下内容创建redirect.js文件:
var hashesarr = { "#!about-us/c1it7":'/about-us/',
"#!patio-covers/ce54":'/patio-covers/',
"#!lattice/c1mz":'/patio-covers/lattice/' };
for (var hash in hashesarr) {
var patt = new RegExp(hash);
if (window.location.hash.match(patt) !== null) {
window.location.href = hashesarr[hash];
}
}
然后,您应该将此文件上传到您的服务器,并将其包含在<head></head>
标记之间。这应该可以解决问题。
答案 2 :(得分:0)
由于wix URL是主题标签,因此无法通过.htaccess重定向。您必须使用javascript重定向网址,例如:
var bt = $("bt");
var images = [
"http://www.website.com/files/filename.jpg",
"http://www.website.com/files/file2.jpg"
];
bt.on('click', function(){
$('#mb').attr('src', images.shift());
$('#mb').on('error', function(){
if (images.length) {
$('#mb').attr('src', images.shift());
} else {
alert('no files could be found');
return;
}
$('#loadHere').load();
});
$('#loadHere').load();
});