把不带前缀的域名转向到www.域名的Apache 301转向配置样例

8 篇文章 0 订阅

各种不同的域名地址对于搜索引擎的除重(deduplication)来说是一个负担,有没有"/"和首页的文件连接,一个域名首页就可以有6个地址:
www.chedong.com/
chedong.com/
www.chedong.com
chedong.com
www.chedong.com/index.php
chedong.com/index.php

如果加上一些参数,比如用于来源跟踪等还会有更多无穷无尽的地址。
www.chedong.com/?source=foobar

所以搜索引擎鼓励发布者把URL标准化(归一化)。首先就是域名的归一化,原先我的设置为: www.chedong.com / chedong.com为别名。现在改为chedong.com 301转向到www.chedong.com 
<VirtualHost *:80>
ServerName chedong.com
RewriteEngine on
RewriteRule ^(.*)$ http://www.chedong.com$1 [R=301,L]
</VirtualHost>

如果没有mod_rewrite也可以设置mod_alias:
RedirectMatch 301 ^(.*)$ http://www.chedong.com

在域名和目录的规划方面: 豆瓣和FlickR都是非常干净的(完全隐藏了程序文件名的后缀,而统一规划了目录路径),而且在RSS方面豆瓣比FlickR做的更彻底。当然Wikipedia更彻底,目录结构非常扁平,根本没有目录。从而避免了很多潜在的连接混淆,而相互的引用,也因此非常集中而少歧义。

参考文档:Apache和IIS的服务器301转向配置

作者: 车东 发表于:2007-11-09 10:11 最后更新于:2008-01-07 15:01
版权声明:可以任意转载,转载时请务必以超链接形式标明文章 和作者信息及 本版权声明
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是在 Linux 系统上配置 Apache2 服务器的步骤: 1. 安装 Apache2 服务器: 在终端中输入以下命令: ``` sudo apt-get update sudo apt-get install apache2 ``` 2. 配置虚拟主机: 在终端中输入以下命令: ``` sudo nano /etc/apache2/sites-available/skills.com.conf ``` 在编辑器中输入以下内容: ``` <VirtualHost *:80> ServerAdmin admin@skills.com ServerName skills.com ServerAlias www.skills.com DocumentRoot /var/www/skills.com/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> ``` 保存并关闭文件。 3. 创建网站目录: 在终端中输入以下命令: ``` sudo mkdir -p /var/www/skills.com/public_html sudo chown -R $USER:$USER /var/www/skills.com/public_html sudo chmod -R 755 /var/www/skills.com ``` 4. 创建测试网页: 在终端中输入以下命令: ``` echo "Hello, skills.com!" > /var/www/skills.com/public_html/index.html ``` 5. 启用虚拟主机: 在终端中输入以下命令: ``` sudo a2ensite skills.com.conf sudo systemctl restart apache2 ``` 现在,你可以在浏览器中访问 http://skills.com,应该会看到 "Hello, skills.com!"。 6. 配置域名: 如果你想使用任意网址前缀(如 any.skills.com),可以按照以上步骤创建一个新的虚拟主机配置文件(例如 any.skills.com.conf),并将 ServerName 和 ServerAlias 设置为任意网址前缀,然后将 DocumentRoot 设置为相应的网站目录。 在终端中输入以下命令: ``` sudo nano /etc/apache2/sites-available/any.skills.com.conf ``` 在编辑器中输入以下内容: ``` <VirtualHost *:80> ServerAdmin admin@skills.com ServerName any.skills.com ServerAlias *.skills.com DocumentRoot /var/www/any.skills.com/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> ``` 保存并关闭文件。 7. 创建子域名网站目录: 在终端中输入以下命令: ``` sudo mkdir -p /var/www/any.skills.com/public_html sudo chown -R $USER:$USER /var/www/any.skills.com/public_html sudo chmod -R 755 /var/www/any.skills.com ``` 8. 创建子域名测试网页: 在终端中输入以下命令: ``` echo "Hello, any.skills.com!" > /var/www/any.skills.com/public_html/index.html ``` 9. 启用子域名虚拟主机: 在终端中输入以下命令: ``` sudo a2ensite any.skills.com.conf sudo systemctl restart apache2 ``` 现在,你可以在浏览器中访问 http://any.skills.com,应该会看到 "Hello, any.skills.com!"。同时,你也可以访问其他任意网址前缀,例如 http://test.skills.com 或 http://example.skills.com。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值