php - 使用 httpd 将 www.domain.com 和 domain.com 重定向到 subdomain.domain.com

标签 php apache http redirect mod-rewrite

我想重定向:

情况一、example.comsubdomain.example.com

情况2.www.example.comsubdomain.example.com

我已将这两段代码放入我的 httpd.conf 中。只有情况 2 有效,但情况 1 无效。

<VirtualHost *:80>
     DocumentRoot "/var/www/html/foo"
     ServerName domain.com
     ServerAlias subdomain.example.com
     <Directory "/var/www/html/foo">
                Options Indexes FollowSymLinks Includes
                Options +ExecCGI
                AllowOverride All
                Order allow,deny
                Allow from All
     </Directory>
     Redirect permanent http://example.com/ http://subdomain.example.com/
</VirtualHost>

<VirtualHost *:80>
     DocumentRoot "/var/www/html/foo"
     ServerName www.example.com
     ServerAlias subdomain.example.com
     <Directory "/var/www/html/foo">
                Options Indexes FollowSymLinks Includes
                Options +ExecCGI
                AllowOverride All
                Order allow,deny
                Allow from All
     </Directory>
     Redirect permanent / http://subdomain.example.com/
</VirtualHost>

最佳答案

我找到了答案。将example.comwww.example.com重定向到subdomain.example.com,然后只设置子域的文档根。 example.com

<VirtualHost *:80>
     ServerName example.com
     ServerAlias www.example.com example.com
     Redirect permanent / http://subdomain.example.com/
</VirtualHost>

<VirtualHost *:80>
     DocumentRoot "/var/www/html/foo"
     ServerName subdomain.example.com
     ServerAlias subdomain.example.com
     <Directory "/var/www/html/foo">
                Options Indexes FollowSymLinks Includes
                Options +ExecCGI
                AllowOverride All
                Order allow,deny
                Allow from All
     </Directory>
</VirtualHost>

通过在 httpd.conf 中使用这些代码,我能够:

  1. example.com 重定向到 subdomain.example.com

  2. www.example.com 重定向到 subdomain.example.com

关于php - 使用 httpd 将 www.domain.com 和 domain.com 重定向到 subdomain.domain.com,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44125253/

相关文章:

PHP:为什么 `default` 参数 RFC 被拒绝?

amazon-web-services - 使用 cloudformation userdata 将索引文件从 S3 存储桶复制到 apache 不起作用

JavaScript 未通过代理传递

php - 如何使用 PHP 以编程方式构建 APR1-MD5

c - 在 Web 服务器中显示默认页面的问题

php - add_action 在插件 activate() 中不起作用 使用 wordpress 插件样板的方法

php - 表单提交后如何在同一个html页面上回显?

php - 无法将中文字符插入MySQL

php - 在 PHP 中编写透明的 HTTP 代理脚本

http - Angular JS 在调用新的 $http 之前取消 $http 调用