Apache的Rewrite原来就是这样!管它是PHPnow还是XAMPP
公司有一台服务器上装的是XAMPP,没有开启Rewrite重定向功能,前天有云和的农产品网上交易市场网站要放上来,开发商那边发来了网站文件和数据库.sql文件,并标明哪个是数据库配置文件。这样我就顺利把网站搭建在了服务器上,但是我发现它有很多伪静态链接,服务器必须得支持URL Rewrite才行。我就去翻关于XAMPP开启rewrite的文章,结果找到的基本是这样的方法:
在你的XAMPP安装目录下找到httpd.conf 这个文件( 位于\xampp\apache\conf\httpd.conf),用记事本或文本编辑器打开它
“Ctrl+F”找到“AllowOverride None”,替换为”AllowOverride All“。(总共有两个,应该是修改第一个就可以了,不过你把两个都改了也没影响),再找到”#LoadModule rewrite_module modules/mod_rewrite.so“,把前面的”#”号去掉,重启XAMPP。
前几天还写了过PHPnow实现Discuz!伪静态URL Rewrite,其实后来通过我的测试,我已经全部搞懂了。跟PHPnow和XAMPP根本没有关系,它们只是集成包啊!关键就在Apache呀!
上面搜索到的方法,我试了没有用。后来我知道它是针对Apache独立服务器的,而我服务器上的Apache是分虚拟主机的。Apache虚拟主机如何添加?赶快看这里:Apache添加虚拟主机。以下我以我的实例来清楚地写一下Apache虚拟主机开启Rewrite的方法:
1、打开apache\conf\httpd.conf,添加:
<Directory "E:/Program Files/yunhe">
Order allow,deny
Allow from all
</Directory>
2、打开apache\conf\extra\httpd-vhosts.conf,Apache添加虚拟主机里不是提到了添加这样一个模块嘛:
<VirtualHost *:80>
ProxyPreserveHost On
DocumentRoot "E:/Program Files/tuan"
ServerName tuan.jxbot.com
DirectoryIndex index.php
<Directory "E:/Program Files/tuan">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
原来只要把上面的AllowOverride None改成AllowOverride All就行了!!!看我的配置:
<VirtualHost *:80>
ProxyPreserveHost On
DocumentRoot "E:/Program Files/yunhe"
ServerName yunhe.jxbot.com
DirectoryIndex index.php
<Directory "E:/Program Files/yunhe">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
3、重启Apache。不需要像上面所说的重启XAMPP,我说了Rewrite只是和Apache相关,是Apache的一个功能。看,成功了!
wordpress 可以了 但是DZ好像还有点问题
Unknown Unknown2011-5-27 19:21:18
刚刚需要这个配置 谢谢了
Unknown Unknown2011-5-27 19:14:26