当前,我正在处理将域A重定向到域B并将域A中的特定页面重定向到域B的请求。这是对伪代码的期望:
state = {
nome: []
}
componentWillMount(){
let i = 0;
//function that read my firebase
while(i !== size_of_elements_in_my_firebase){
db.collection("Usuários").doc(doc.ids[i].id).get().then(resposta => {
this.setState({
name : this.state.name.concat([resposta.id]),
})
})
i++
}
}
newCreateData(name){
return {name}
}
//in my render
const { nome, idade, cidade, estado, e_mail, tamanho } = this.state;
let i = 0;
let data = []
while(i !== tamanho){
data[i] = this.newCreateData(nome[i], idade[i], cidade[i], estado[i], e_mail[i]);
i++;
}
return(
<MUIDataTable
title={"Firestore data"}
data={data}
columns={columns}
options={options}
/>
)
和:
foo.com =====> https://www.bar.com
foo.com/foo =====> https://www.bar.com/bar
但是,只有非www重定向按预期工作,而www重定向根本无法正常工作。本质上,上面的第一组重定向有效,而第二组无效。
这是我的Vhost文件:
www.foo.com =====> https://www.bar.com
www.foo.com/foo =====> https://www.bar.com/bar
我的重写规则:
<VirtualHost *:80>
ServerName foo.com
ServerAlias www.foo.com
ErrorLog /etc/httpd/logs/foo.com-error.log
Include /etc/httpd/conf.d/rewrite_rules/foo.com.rewrite
</VirtualHost>
奇怪的是,当我在测试服务器上使用curl测试时,好像URL被重定向了:
RewriteEngine On
RewriteRule ^/foo$ https://www.bar.com/bar [R=301,L,NC]
RewriteRule (.*) https://www.bar.com [R=301,L,NC]
我感觉自己的重写规则中缺少某些内容。谁能建议这个问题?预先感谢您的帮助。
答案 0 :(得分:0)
找出此问题的答案。事实证明,到位的规则都是功能性的,可以按预期运行。但是,服务器上的SSL证书导致不匹配错误。
SSL证书中的此不匹配停止了重定向功能。上传必要的证书后,一切都按预期工作。希望这个答案对将来有需要的人有所帮助。谢谢。