我有一个使用主域(domain.com)的应用程序,我希望能够将其他域指向相同的内容,而无需维护单独的代码实例。该应用程序包含在主域中的文件夹,该文件夹不被搜索引擎等访问,所以我不担心搜索引擎优化等。所有的域将在运行Apache的同一台服务器上。使用相同内容的多个域
我想确保域名保持原来的状态,而不是重定向到domain.com,因为这样做的目的是让多个客户可以使用代码,但是使用他们的颜色标记给他们的应用程序,标志等使用来自MySQL数据库的设置。
例如,用户转到newdomain.com,他们看到一个登录表单,它是存储在/ home/newdomain/public_html中的本地登录表单 - 成功登录时,它们被定向到包含应用程序的/文件夹,而不是导向到newdomain.com/folder这是空的我希望他们被重定向到domain.com/folder(即/ home/domain/public_html /文件夹),但仍然在他们的浏览器中看到newdomain.com/folder,因此它是透明的他们。
我试过下面https://stackoverflow.com/a/9521102/1278201使用htaccess,但它改变了URL到domain.com:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase/
RewriteCond %{HTTP_HOST} !^(www\.)?domain\.com$ [NC]
RewriteRule^http://www.domain.com/%{REQUEST_URI} [R=301,L]
我还发现,使用Apache的配置这似乎是更好的选择,因为我不关心SEO里面提到一个职位但我不知道如果我可以用它来只重定向一个文件夹(即不重定向根目录,只是重定向/文件夹)https://stackoverflow.com/a/3849129/1278201:
NameVirtualHost *
<VirtualHost *>
ServerName domain.com
DocumentRoot /home/domain/public_html/folder
</VirtualHost>
<VirtualHost *>
ServerName newdomain.com
DocumentRoot /home/domain/public_html/folder
</VirtualHost>
我还发现帖子指出与会话和SSL证书可能存在的问题https://stackoverflow.com/a/140008/1278201这两个都在应用程序中使用。我很高兴为每个域安装一个单独的SSL证书,但上述任何重定向“中断”会话都可以吗?如果有人登录到newdomain.com/folder,然后转到domain.com/folder,他们需要再次登录,但是将domain.com/folder重定向到newdomain.com/folder的事实会影响会话安全性?
达到预期结果的最佳方法是什么?
这正是['ServerAlias'(http://httpd.apache.org/docs/2.2/mod/core.html#serveralias)指令是什么。 – DaveRandom