我改变了我的网站&网址结构。 现在我想将旧页面(目前是404错误页面)重定向到我的主页。
网址:
(function(){
var index = 1;
var intervals = {},
timeouts = {};
function postMessageHandler(e) {
window.postMessage('', "*");
var now = new Date().getTime();
sysFunc._each.call(timeouts, function(ind, obj) {
var targetTime = obj[1];
if (now >= targetTime) {
obj[0]();
delete timeouts[ind];
}
});
sysFunc._each.call(intervals, function(ind, obj) {
var startTime = obj[1];
var func = obj[0];
var ms = obj[2];
if (now >= startTime + ms) {
func();
obj[1] = new Date().getTime();
}
});
}
window.addEventListener("message", postMessageHandler, true);
window.postMessage('', "*");
function _setTimeout(func, ms) {
timeouts[index] = [func, new Date().getTime() + ms];
return index++;
}
function _setInterval(func, ms) {
intervals[index] = [func, new Date().getTime(), ms];
return index++;
}
function _clearInterval(ind) {
if (intervals[ind]) {
delete intervals[ind]
}
}
function _clearTimeout(ind) {
if (timeouts[ind]) {
delete timeouts[ind]
}
}
var intervalIndex = _setInterval(function() {
console.log('every 100ms');
}, 100);
_setTimeout(function() {
console.log('run after 200ms');
}, 200);
_setTimeout(function() {
console.log('closing the one that\'s 100ms');
_clearInterval(intervalIndex)
}, 2000);
window._setTimeout = _setTimeout;
window._setInterval = _setInterval;
window._clearTimeout = _clearTimeout;
window._clearInterval = _clearInterval;
})();
到
http://www.example.com/abc-def-ghi-sp(m).html
我在htaccess中使用了以下规则
http://www.example.com
上述规则运作正常。 我还需要另一个重定向。但它无法正常工作
RewriteEngine On
RewriteRule ^(.*)\.html$ / [L,R=301]
到
http://www.example.com/page.php?name=amca&PID=143&PageID=abc
我在htaccess中使用了以下规则
http://www.example.com
但结果
显示主页。
但是浏览器中的网址是
RewriteRule ^page\.php / [L,R=301]
我尝试了不同的规则。但没有工作
答案 0 :(得分:0)
尝试^page\.php*$ / [L,R=301]
您只匹配您感兴趣的模式,引擎将仅替换匹配的部分。所以你应该在感兴趣的模式之后匹配所有内容,以免它成为替代品的受害者。
“*”匹配“php”之后的所有内容,“$”表示字符串结束。
答案 1 :(得分:0)
尝试在目标网址的末尾添加?。
RewriteRule ^page\.php /? [L,R=301]
最后的空问号非常重要,因为它会丢弃原始查询字符串。
这会将/fill.php?foo=bar重定向到/不附加旧的查询字符串。
在测试之前清除浏览器的缓存。
如果您想使用查询字符串重定向空间网址,
您可以尝试
RewriteEngine on
RewriteCond %{QUERY_STRING} ^q=foo&u=bar$ [NC]
RewriteRule ^file.php$ /? [NC,L,R]
这会将特定网址/file.php?q=foo&u=bar重定向到/