转:http://zhidao.baidu.com/question/257378264.html
1.检测Apache是否支持mod_rewrite 通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。
如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。
如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。
2.让apache服务器支持.htaccess
修改httpd.conf文件
Options FollowSymLinks
AllowOverride None
改为
Options FollowSymLinks
AllowOverride All
注意:除了要设置上面的地方以后,还得设置一下下面这个(网上很多资料都没有讲到这一块),否则你将会配制失败, 把 DocumentRoot 后面的参数改为你本地网站的目录 例如你网站的根目录为 D:/web/ 则得设置为 DocumentRoot "D:/web/" 也就是修改当前目录
此步骤设置好后也得重启apache服务器才能生效
3.建立.htaccess 文件
新建 htaccess.txt
用记事本 打开,点击文件–另存为,在文件名窗口输入”.htaccess”,然后点击保存。此文件得保存在网站的根目录
以下的代码加入httpd.conf中
4.填写网站伪静态规则 (需要 了解 正则表达式)
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule index.html$ index.php
RewriteRule index-([1-9]+[0-9]*).html$ index.php?p=$1
</IfModule>
希望能够帮到你和网上的其它朋友,曾经我也在上面绞尽脑汁。
虚拟域名
990 NameVirtualHost *:80
1011 <VirtualHost *:80>
1012 ServerAdmin webmaster@dummy-host.example.com 1013 DocumentRoot /var/www/html/haha 1014 ErrorDocument 404 http://baidu.com/1.html 1015 ServerName www.haha.com 1016 ErrorLog logs/dummy-host.example.com-error_log 1017 CustomLog logs/dummy-host.example.com-access_log common 1018 </VirtualHost> 1019 1020 1021 <VirtualHost *:80> 1022 ServerAdmin webmaster@dummy-host.example.com 1023 DocumentRoot /var/www/html/haha 1024 ServerName www.hahaha.com 1025 ErrorLog logs/dummy-host.example.com-error_log 1026 CustomLog logs/dummy-host.example.com-access_log common 1027 </VirtualHost> 1028
.htaccess设置host
[root@localhost haha]# vim .htaccess 1 RewriteEngine On 2 RewriteCond %{HTTP_HOST} www.haha.com 3 RewriteRule ^test.html test.txt 4 5 RewriteCond %{HTTP_HOST} www.hahaha.com 6 RewriteRule ^test.html 1.txt 7 ~ ~