// you’re reading...

英文SEO首页 » 站长交流 » 用Apache Rewrite简单实现URL重写

用Apache Rewrite简单实现URL重写


您可能对这些内容感兴趣

一个简洁的URL地址不光好看,同时针对搜索引擎有很好,这一点做SEO的朋友们都比较清楚,虽然比如Google承诺对动态URL与静态URL在收录上没有区别。不过经验告诉我们,静态URL地址还是优于动态URL的,至少可以减少许多重复页面(当Discuz论坛采用动态地址会出现多个不同地址的同一个页面)。

那从静态地址来区分也分为真实静态和伪静态两种,真静态需要CMS程序支持为每一个页面生成一个html的独立页面,这样可以大大降低服务器的压力;伪静态纯粹是为了像SE示好以及具观赏性,啊哈哈。

这里只对采用Apache自带的mod_rewrite 模块,URL-rewrite 实现的伪静态做下介绍:

效果如:http://127.0.0.1/?p=123 动态网页,URL-rewrite 为 http://127.0.0.1/123.html

在这里拿 WordPress 常见的 .htaccess 文件的解析方式为例:

1. 打开 Apache(v2.x版本) 的 Rewrite 模块(mod_rewrite)

先要修改Apache 目录下 conf/httpd.conf,找到
LoadModule Rewrite_module libexec/mod_Rewrite.so
这一行,如果前面有 # 将其去掉;

继续找到

<Directory />
Options FollowSymLinks
AllowOverride None  <——将None改为ALL 保存httpd.conf 并重启Apache
</Directory>

2. 创建一个文本文件,复制以下内容

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

保存为 htaccess.txt 上传到域名根目录并修改为 .htaccess即可

测试一下,是不是OK了?

当然还有另一种方法是直接把 .htaccess 重写规则复制到 httpd.conf 中,个人觉得没有根据不同网站程序修改 .htaccess 来的方便。这都因人而已啦,反正只要有 Apache 就可以实现伪静态,虚拟空间的话就不知道空间商给不给你打开mod_Rewrite了。


Discussion

One comment for “用Apache Rewrite简单实现URL重写”

  1. [...] 用Apache Rewrite简单实现URL重写 [...]

    Posted by 英文网赚:AutoBlog – 【webnet8】 | 八月 4, 2009, 8:54 下午

Post a comment

超值美国虚拟主机

Identification

© 2008-2009 SEO/SEM搜索引擎优化交流 | RSS订阅日志 | 世界时间.