灰色状态 发表于 2010-1-30 10:59:55

[已解决]求助:APACHE伪静态设置

我购买的是VPS,目前组建已经有了,我按照官方的方法:
Apache 2.x 的用户请检查 conf/httpd.conf 中是否存在如下一段代码:
LoadModule rewrite_module   modules/mod_rewrite.so

如果存在,且以#开头,请删除#。然后在配置文件(通常就是 conf/httpd.conf或者conf/extra/httpd-vhosts.conf)中加入如下代码。此时请务必注意,如果网站使用通过虚拟主机来定义,请务必加到虚拟主机配置,即 中去,如果加在虚拟主机配置外部将可能无法使用。改好后然后将 Apache 重启。
RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
RewriteRule ^(.*)/show-(+)([\-])?(+)?\.html$ $1/show.php?itemid=$2&page=$4
RewriteRule ^(.*)/list-(+)([\-])?(+)?\.html$ $1/list.php?catid=$2&page=$4
RewriteRule ^(.*)/show/(+)/(+)?([/])?$ $1/show.php?itemid=$2&page=$3
RewriteRule ^(.*)/list/(+)/(+)?([/])?$ $1/list.php?catid=$2&page=$3
RewriteRule ^(.*)/(+)\.co/(.*)$ $1/company/index.php?homepage=$2&rewrite=$3
RewriteRule ^(.*)/htm/(.*)$ $1/index.php?&rewrite=$2

但是没有用,我又在网络上搜了下,又改成了:

RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
RewriteRule ^(.*)/show-(+)([\-])?(+)?\.html$ $1/show.php?itemid=$2&page=$4
RewriteRule ^(.*)/list-(+)([\-])?(+)?\.html$ $1/list.php?catid=$2&page=$4
RewriteRule ^(.*)/show/(+)/(+)?([/])?$ $1/show.php?itemid=$2&page=$3
RewriteRule ^(.*)/list/(+)/(+)?([/])?$ $1/list.php?catid=$2&page=$3
RewriteRule ^(.*)/(+)\.co/(.*)$ $1/company/index.php?homepage=$2&rewrite=$3
RewriteRule ^(.*)/htm/(.*)$ $1/index.php?&rewrite=$2


还是没有用,请问有知道的吗?请赐教!

[ 本帖最后由 mccsat 于 2010-1-30 20:02 编辑 ]

flyzdp 发表于 2010-1-30 19:50:10


自己搞了一下午,现在终于搞定了,下面是方法,或许官方应该改下教程
http://bbs.destoon.com/static/image/smiley/default/lol.gif

首先按照官方的方法:
Apache 2.x 的用户请检查 conf/httpd.conf 中是否存在如下一段代码:
LoadModule rewrite_module   modules/mod_rewrite.so
如果存在,且以#开头,请删除#。
我的本来就支持,这里也不必改

然后在配置文件(通常就是 conf/httpd.conf或者conf/extra/httpd-vhosts.conf)中加入如下代码。
此时请务必注意,如果网站使用通过虚拟主机来定义,请务必加到虚拟主机配置,
即 中去
,如果加在虚拟主机配置外部将可能无法使用。改好后然后将 Apache 重启。

我的网站是用通过虚拟主机来定义的,关键在于
即 中去
这里:即   中去

这个代码位于vhost.conf文件中

修改vhost.conf文件方法:

vi /usr/local/apache2/conf/vhost.conf

这个文件里找到你需要开设伪静态的主机,在中间加上以下代码:

RewriteEngine On
RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
RewriteRule ^(.*)/show-(+)([\-])?(+)?\.html$ $1/show.php?itemid=$2&page=$4
RewriteRule ^(.*)/list-(+)([\-])?(+)?\.html$ $1/list.php?catid=$2&page=$4
RewriteRule ^(.*)/show/(+)/(+)?([/])?$ $1/show.php?itemid=$2&page=$3
RewriteRule ^(.*)/list/(+)/(+)?([/])?$ $1/list.php?catid=$2&page=$3
RewriteRule ^(.*)/(+)\.co/(.*)$ $1/company/index.php?homepage=$2&rewrite=$3
RewriteRule ^(.*)/htm/(.*)$ $1/index.php?&rewrite=$2


改好后保存然后将 Apache 重启,再试试吧!

快乐在于分享,希望我的努力能够给你帮助!!!

[ 本帖最后由 mccsat 于 2010-1-30 19:52 编辑 ]

Spacer 发表于 2010-7-22 00:24:49


终于找到了,谢谢楼主分享呀

flyzdp 发表于 2011-7-14 10:57:31


谢谢 这样做了 可以了,可是在IIS那里怎么配置呀????????????

flyzdp 发表于 2011-7-14 11:03:41


IIS6服务器

请下载 http://download.destoon.com/rewrite/IIS_Rewrite.zip
规则已经设置好,按readme.txt文件内容进行操作
如果网站支持httpd.ini文件,请下载
http://download.destoon.com/rewrite/httpd.ini

IIS7服务器

请参考 http://download.destoon.com/rewrite/web.config.txt


Rewrite生效后,请在网站后台 网站设置 SEO优化 URL Rewrite选择开启 提交

然后进入各模块的模块设置 SEO设置 选择对应伪静态地址规则

选择更新地址 提交
页: [1]
查看完整版本: [已解决]求助:APACHE伪静态设置