我有一个非独特的(其他人必须解决这个)问题围绕会话.
方案是我有5个顶级域(domain_a,domain_b,domain_c,domain_d,domain_e),以及每个域下的多个子域.我的应用程序需要在同一顶级域中的子域之间共享会话,例如sub_1.domain_b.com和sub2.domain_b.com可以共享,但sub_3.domain_c.com将是不同的会话.为了使问题更复杂,如果域a和b以及c&d也能够共享会话,那将是理想的.
所以规则:
domain_a与domain_b共享会话,并与其中的所有子域共享.很高兴在cookie_store中
domain_c与domain_d共享会话,并与其中的所有子域共享.很高兴在cookie_store中
domain_e仅在其子域中共享其会话.这需要在active_record_store中
我怎样才能做到这一点?
我尝试使用以下内容创建初始化程序:
MyApp::Application.config.session_store :cookie_store, :key => '_domain_a', :domain => '.domain_a.com'
MyApp::Application.config.session_store :cookie_store, :key => '_domain_b', :domain => '.domain_b.com'
MyApp::Application.config.session_store :cookie_store, :key => '_domain_c', :domain => '.domain_c.com'
MyApp::Application.config.session_store :cookie_store, :key => '_domain_d', :domain => '.domain_d.com'
MyApp::Application.config.session_store :active_record_store, :key => '_domain_e', :domain => '.domain_e.com'
Run Code Online (Sandbox Code Playgroud)
但是我不确定这是否有效.domain_e.com会话工作,这是有意义的,因为它是最后一个声明,任何想法?
我目前正在开展跨越多个领域的项目.我想要的是让用户能够在一个站点上登录并同时登录所有其他站点.
用户会话存储在数据库中,我在每个域上设置的cookie包含会话ID.
因此,基本上当用户登录到example.com时,会使用其会话ID创建cookie,会话数据将存储在数据库中.完成此操作后,需要在具有此唯一会话ID的所有其他域上创建cookie,以便当用户从一个站点移动到另一个站点时,它们将自动登录.
现在我已经找到了在Firefox中执行此操作的方法(使用在其他域上执行PHP脚本的图像标记,实质上是在不同的域上创建不同的cookie)但是这种方法在IE中不起作用(没有测试过Opera或野生动物园等).
有没有人对如何在IE中使用它有任何想法?
我想使用相同的ASP.NET MVC应用程序托管多个网站(所有网站都具有不同的域 - 而不是子域).我需要应用程序基于域的不同行为,但我仍然希望相同的应用程序服务所有域.我不想要域转发或重定向,我实际上希望所有域都能自己运行,但是服务于同一个MVC应用程序.我该怎么做呢?值得注意的是,我与GoDaddy共享托管.
提前致谢!
我想在一个根(服务器)下托管多个基于Symfony2的网站.是否可以共享symfony自己的文件?(供应商等).有人知道教程吗?管理难吗?AFAIK Symfony安装大约600MB,我不想以冗余的方式保存它.
我正在把我们网站的SEO带到另一个层面.我阅读了很多关于它的内容,并研究了如何正确处理多个域和语言的所有方面.现在我们使用三个域名www.myurl.eu
,www.myurl.de
和www.myotherurl.com
.
所有网站都指向相同的内容,我很快就了解到拥有多个域名并不是一个好的做法(关于此的良好阅读:http://www.seo.com/blog/multiple-domains-seo/).好吧我按照搜索引擎优化和谷歌专家的建议解决了这个问题,选择了一个主域名,并301 permanent redirect
从其他域名做了一个!好的解决了!
但!然后我参加了英国的技术搜索引擎优化简报,其中一个SEO人员正在谈论本地搜索以及英国谷歌搜索将如何选择.co.uk domains
.事实证明他是对的.我上面发布的链接还有一段关于此的内容:
国家/地区特定域
这不是一种策略,更多的是"必须做",因此我是多个域的例外.这是一个例外,因为当你进入其他国家时,上述所有问题都不适用.事实上,为了在国际搜索引擎优化中获得最佳结果,您需要拥有特定国家/地区的TLD(或顶级域名).例如,如果您在英格兰做生意,那么在没有.co.uk域名的情况下排名很难.你仍然可以在没有国家级TLD的情况下排名,但这是一场艰苦的战斗.而在上坡时,我的意思是落基山脉式上坡.
Q1:那么好吧,为了我在英国的业务排名很高,我需要一个www.myurl.co.uk
.我买了一个.现在问题来自于此.是否www.myurl.co.uk
再次301重定向到我的主域名?我该怎么处理?
Q2:然后这是所有这些的多语言方面.我的网站是以某种方式构建的,因此语言网站会在网址中使用/ lang/code进行更改.例:
www.myurl.eu/en/products
- >英文产品网站www.myurl.eu/de/products
- >德语相同的网站www.myotherurl.com/en/products
- > 301重定向到
www.myurl.eu/en/products
所以现在做什么与我的国家特定域www.myurl.co.uk
和www.myurl.de
?这些是301重定向到主域,如www.myurl.co.uk
- > www.myurl.eu/en/
和www.myurl.de
- > www.myurl.eu/de/
?这是正确的方式吗?
问题3:我是否真的应该这样在我开展业务的国家/地区设置单独的国家级域名?我没有看到让我们说Apple有apple.co.uk
等等?这有多重要?
我有一个设置,我有几个站点托管在我的FTP根目录中的不同子文件夹中
ROOT
-site1folder
-site2folder
我有2个与该帐户无关的域名.我已将域的DNS记录更改为指向我的主机帐户,但我需要2个不同的URL才能转到正确的子文件夹以加载正确的站点而不是传输域.域名是
理想情况下,我希望site1加载site1文件夹的内容,并为站点2及其相应的文件夹添加相同的内容.
我目前在我的根目录中有一个.htaccess文件,我通过查看不同的帖子将其混合在一起.我是.htaccess的新手.我目前正在尝试将站点1指向site1文件夹
Options +FollowSymLinks
#Turns the rewrite engine on.
RewriteEngine on
#Fix missing trailing slash character on folders.
RewriteRule ^([^.?]+[^.?/])$ $1/ [R,L]
RewriteBase /website1
#www.site1.co.uk and site1.co.uk will map to the folder
RewriteCond %{HTTP:Host} ^(?:www\.)?site1\.co.uk
RewriteRule (.*) /site1 [NC,L,NS]
Run Code Online (Sandbox Code Playgroud)
当我加载它时会发生什么是我获取site1文件夹的内容但在此URL site1.co.uk/site1
我不希望URL完全改变.我只是想加载它所指向的子文件夹的内容.
任何想法都会受到高度赞赏,即使它不能,也不应该以不同的方式做到这一点.
使用Nginx,我为一个服务器创建了一个多域设置,该服务器由四个单独的站点组成.当我启动Nginx时,我收到一条错误消息,并且网站似乎混淆了,因为输入一个网址会导致其他网站之一.
显示错误消息 -
Restarting nginx: nginx: [warn] conflicting server name "localhost" on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name "localhost" on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name "localhost" on 0.0.0.0:80, ignored
nginx.
Run Code Online (Sandbox Code Playgroud)
我已经在/ sites-available下的各自文件中以类似的方式设置了所有四个域 -
server {
listen 80;
root /var/www/example.com/public_html;
index index.php index.html index.htm;
server_name example.com www.example.com;
location / {
try_files $uri $uri/ /index.html;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param …
Run Code Online (Sandbox Code Playgroud) 我有三个领域domain1.com
,domain2.com
并domain3.com
全部重新指向我的天蓝色的web应用程序mysites.azurewebsite.net
.在蔚蓝的网站三个文件夹可我的根文件夹domain1
,domain2
并domain3
用wordpress
安装在这些文件夹.目前我在我的下面给出了以下设置web.config
,它指向相应的文件夹.
<rule name="domain1" stopProcessing="true">
<match url=".*"/>
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_HOST}" pattern="^(www.)?domain1.com"/>
</conditions>
<action type="Rewrite" redirectType="Permanent" url="\domain1\{R:0}" />
</rule>
<rule name="domain2" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^(www.)?domain2.com" />
<add input="{PATH_INFO}" pattern="^/domain2/" negate="true" />
</conditions>
<action type="Rewrite" url="\domain2\{R:0}" />
</rule>
<rule name="domain3" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^(www.)?domain3.com" />
<add input="{PATH_INFO}" pattern="^/domain3/" negate="true" />
</conditions>
<action type="Rewrite" url="\domain3\{R:0}" />
</rule> …
Run Code Online (Sandbox Code Playgroud) 我们正在开发一个将作为托管解决方案提供的应用程序。我对如何在不复制基本代码的情况下使用多个具有相同代码的站点感到惊讶。
例如:网站1:www.example.com和网站2:www.sample.com将在相同的代码上运行,但是具有不同的配置设置和不同的主题...就像我们在wordpress中运行自己的域名一样。
我想知道我该怎么做。
同样在数据库的情况下..最好是我为每个网站创建单独的数据库,或者将具有网站ID的相同数据库用作每个表中的列。
请帮助我。
[说明]它不是域别名。就像...这将是一项服务。在这里,将为不同的客户提供不同主题的相同域名的相同应用程序。类似于博客作者的工作..具有自己的域名,但博客应用程序相同
[技术]专门研究如何使用主机名来确定要使用的配置,我们正在使用PHP和MySQL
build-process multiple-domains multiple-databases application-design
我有一个ColdFusion应用程序.我希望能够针对多个域或子域运行相同的代码库(而不是复制它).每个网站基本上都是相同的,除了它们将被标记,剥皮并具有不同的标题等.
所以,我正在寻找的是如何:www.abc.com和www.xyz.com以及beta.mycompany.com都运行相同的代码库.理想情况下,当新客户登录时,可以快速添加新域.
我已经看到PHP和Rails的这个问题,但不是CF. 这是我的想法(它似乎工作),但想知道是否会有性能问题或更清晰的建议.
IN APPLICATION.CFC
<cfif cgi.server_name EQ "www.abc.com" >
<cfset request.client_id=1>
<cfelseif cgi.server_name EQ "www.xyz.com">
<cfset request.client_id=2>
... etc
<cfelse>
This application not configured.
<cfabort>
</cfif>
Run Code Online (Sandbox Code Playgroud)
现在,只需关闭client_id的所有内容......
multiple-domains ×10
php ×2
.htaccess ×1
asp.net-mvc ×1
azure ×1
coldfusion ×1
login ×1
multilingual ×1
nginx ×1
rewrite ×1
seo ×1
session ×1
subdomain ×1
symfony ×1
vendors ×1
web-config ×1
wordpress ×1