在 php 中设置 base_url() 。 php 的任何框架中的 base_url() 应该是什么?
Setting base_url() in php . What should be the base_url() in any framework of php?
我的问题不关注如何在 php 的任何框架中设置基础 url 的方法。而我真正想知道的是 base_url() 应该是什么
来自以下两个选项
假设我 select 选项 1 即 http://example.com 我网站的所有流量都来自 http://www.example.com 将面临以下问题,同样如果我 select 选项 2 来自其他 otpion 的 url 的流量将面临下面的问题。
问题
Ajax 由于 CORS(跨源请求共享)而被浏览器阻止。因为 google 将 www 和非 www 请求视为来自两个不同的网站。
我的 ajax 代码如下,如果有帮助的话
$.ajax({
url: '<?php echo base_url(); ?>/Index/perform_task',
type:'POST',
data: {
name: $("#name_field").val(),
task: $("#task_field").val(),
},
success:function(data){
if (data == 'task_completed'){
window.location.href = "<?php echo base_url() ?>";
}
else{
$('#task_error').html('Some Error occured.')
}
}
});
正如@junkfoodjunkie 所说,您应该只使用一个域并重定向另一个域。但是,如果出于任何原因,您必须保留这两个域,那么您应该在当前域中调用您的 ajax 脚本。
然后,您的 base_url()
函数应该 return 当前域。例如:
function base_url(){
return 'http'.(isset($_SERVER['HTTPS'])?'s':'').'://'.$_SERVER['SERVER_NAME'];
}
是任何版本的好处
简短的回答是否定的。 www 或非 www 网站没有任何优势,因为选择哪个网站取决于个人喜好。影响 SEO 的主要方面是你的一致性,特别是你是否 adding/removing www 到你网站的 URL。为了从这件小事中受益,您需要选择一个选项并坚持该选择。简而言之,当您已经将网站引入知名搜索引擎时,请不要更改其 URL。
否则,他们会将这两个选项(www.site.com 和 site.com)视为两个不同的网站,并禁止它们将页面、关键字和内容加倍
www 和非 www 站点之间的唯一区别 URL 只是技术上的区别。当您的网站包含“www.”时,它是适应 DNS 并在使用其他域时限制 cookie 的主机名。同时,如果你的网站没有“www.”,那么它就没有这样的技术权限
那你该怎么办?
只需使用您喜欢的版本之一,并将所有来自其他版本的请求路由到您使用的版本,并且永远不会再更改它。
我的问题不关注如何在 php 的任何框架中设置基础 url 的方法。而我真正想知道的是 base_url() 应该是什么 来自以下两个选项
假设我 select 选项 1 即 http://example.com 我网站的所有流量都来自 http://www.example.com 将面临以下问题,同样如果我 select 选项 2 来自其他 otpion 的 url 的流量将面临下面的问题。
问题
Ajax 由于 CORS(跨源请求共享)而被浏览器阻止。因为 google 将 www 和非 www 请求视为来自两个不同的网站。 我的 ajax 代码如下,如果有帮助的话
$.ajax({
url: '<?php echo base_url(); ?>/Index/perform_task',
type:'POST',
data: {
name: $("#name_field").val(),
task: $("#task_field").val(),
},
success:function(data){
if (data == 'task_completed'){
window.location.href = "<?php echo base_url() ?>";
}
else{
$('#task_error').html('Some Error occured.')
}
}
});
正如@junkfoodjunkie 所说,您应该只使用一个域并重定向另一个域。但是,如果出于任何原因,您必须保留这两个域,那么您应该在当前域中调用您的 ajax 脚本。
然后,您的 base_url()
函数应该 return 当前域。例如:
function base_url(){
return 'http'.(isset($_SERVER['HTTPS'])?'s':'').'://'.$_SERVER['SERVER_NAME'];
}
是任何版本的好处
简短的回答是否定的。 www 或非 www 网站没有任何优势,因为选择哪个网站取决于个人喜好。影响 SEO 的主要方面是你的一致性,特别是你是否 adding/removing www 到你网站的 URL。为了从这件小事中受益,您需要选择一个选项并坚持该选择。简而言之,当您已经将网站引入知名搜索引擎时,请不要更改其 URL。
否则,他们会将这两个选项(www.site.com 和 site.com)视为两个不同的网站,并禁止它们将页面、关键字和内容加倍
www 和非 www 站点之间的唯一区别 URL 只是技术上的区别。当您的网站包含“www.”时,它是适应 DNS 并在使用其他域时限制 cookie 的主机名。同时,如果你的网站没有“www.”,那么它就没有这样的技术权限
那你该怎么办? 只需使用您喜欢的版本之一,并将所有来自其他版本的请求路由到您使用的版本,并且永远不会再更改它。