注意:我知道这比编程更多服务器 但StackOverflow是
.htaccess
信息的好地方 想到你们中的一些人 美丽的StackOverflowers会有一些有用的建议。许多 感谢。
我在LAMP堆栈上有多个域和一个cPanel后端。
我有一个域名www.domainA.com
,它最终会成为众多域名AE之一(不是字面意义上的AE,但是你明白了),所有这些域都会调用来自其他域名的某些网页的内容,{{ 1}},DomainM.com
可通过网络直接访问,但我们的想法是绝对不会成为访问者的主要来源。
关键是有人访问DomainM.com
并查看来自DomainA.com
的内容,但该网址仍保留在www.DomainA.com 。
我目前在www.DomainM.com
的.htaccess中设置了这个(来自我服务器上工作人员的建议)。我很确定.htaccess重定向不是最好的方法,但确实有效:
.htaccess DomainA.com
:
www.DomainA.com
这会占用地址RewriteCond %{HTTP_HOST} ^(www\.)?domainA\.org\.uk$ [NC]
RewriteRule ^(referencepage)/?$ http://www.DomainM.co.uk/$1 [P,NC]
并从www.domainA.org.uk/referencepage
加载服务器数据,而访问者则无法看到www.domainM.co.uk/referencepage
。
所以我有两个问题:
1)各种测量表明,大约30%的时间,这个系统加载页面需要2-4秒。我认为这将是由于处理两个服务器而我认为 .htaccess不是处理此声明的最有效方式。我们无法访问httpd.conf。
如何提高此设置的加载速度?
1b)如何获得有关加载和显示页面的最佳时间的更详细报告?的解决
2)是否有一种更有效/更有效的方式来设置这种布局形式,主要目标是在DomainM.com
上显示DomainM
而访客“离开”DomainA
?
P.S>如果有我正在尝试的名称,我可以更新问题标题,它可以用于参考搜索其他人和我自己。干杯。
我稍微简化了DomainA
规则,现在他们读了:
.htaccess
这样#This is to force to use www.
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301]
#Start biz pages
#for each business in turn:
RewriteCond %{HTTP_HOST}%{REQUEST_URI} ^www.DomainA.org.uk/businessName$ [NC]
RewriteRule ^(.*) http://www.Domain.co.uk/$1 [P,NC]
加载www.DomainA.org.uk/business
(在Domain.co.uk上重写的URL实际上是:www.Domain.co.uk/business
)。
我在www.Domain.co.uk/page.php?name=business
网站上的完整htaccess:
DomainA
答案 0 :(得分:0)
让我解释一下Rewrite Engine的工作原理。例如,取http://domainA.com/referencepage
。当您请求此页面时,您的浏览器会向Web服务器发送请求以检索它。您的Web服务器检查.htaccess
并读取其重写规则。
您的重写条件是(我将其更改为匹配domainA.com
和domain.com
):
RewriteCond %{HTTP_HOST} ^(www\.)?domainA\.com$ [NC]
表示以下规则仅适用于domainA.com
或www.domainA.com
的任何请求。
RewriteRule ^(referencepage)/?$ http://www.DomainM.com/$1 [P,NC]
如果用户要求提供主页(www.DomainM.com
)或参考页(http://domainA.com/
),则此行表示将请求域更改为http://domainA.com/referencepage
。
但是您的重写规则有 P 标志,这意味着重写的URL将通过代理传递。
如果DomainM.com
和domainA.com
都位于同一台服务器上,我建议您删除 P 标志以避免这种情况(这意味着请求将花费更少的时间)。
关于你的第一个问题: 如果你想知道什么需要时间加载你可以使用Firebug(firefox)或IE的开发人员工具(按 F12 )。
IE开发人员工具:
萤火: