在NetBSD上如何打开apache2的rewrite功能

NetBSD的安装、升级、更新等日常问题请在这里讨论。

版主: lionux

回复
头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

在NetBSD上如何打开apache2的rewrite功能

帖子 leo » 2010-05-22 5:25

参照了一下lionux兄的文章,试了几次packages,有时少文件无法继续,有时软件安装成功后没有设置提示。此外软件版本有差异,当前版的数据库版本高(mysql5.1),怕今后无法还原到空间上, 似乎也非mysql推荐的稳定版。还没有时间测试pkgin,主要是想尽快在本地建立论坛的镜像。
所以目前选用的是NetBSD的稳定版(和目前社区空间上的apache,php,ap-php,mysql的版本全一样,很爽,就是图论坛数据库可以拿过来直接用。因为平时也不连外网,所以暂时也不打算更新packages了。),安装方法是直接从源代码编译,编译过程会自己下载及安装依赖包,而且给出的提示比较完善,现在可以算是90%已经成功了。目前,如果不用网页静态化一切正常, 但是如果开启则无法浏览,有这方面经验的朋友请告之如何在apache2.2.15上追加rewrite_moudle,或者在make时直接加上去,不胜感激。:)

过几天,上些在NetBSD上安装discuz、phpbb, phpwind以及vbulletin等web服务器设置的详细方法。OpenBSD里的mysql导入尺寸还有限制,NetBSD没有;)

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

帖子 leo » 2010-05-22 15:30

添加模块时系统说已经built-in了,此外运行
#apachectl -l
显示也有这个mod_rewrite模块,但是调用还是有问题。
搞不清楚是yabbseo的问题,还是netbsd上的apache rewrite模块有问题了。

头像
lionux
锌 Zn
帖子: 457
注册时间: 2010-02-04 11:09

帖子 lionux » 2010-05-22 16:42

有mod_rewrite模块,需要在httpd.conf 中设置
AllowOverride 后面none改all,重启apache

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

帖子 leo » 2010-05-22 21:38

lionux 写了:有mod_rewrite模块,需要在httpd.conf 中设置
AllowOverride 后面none改all,重启apache
AllowOverride All这个早就试着全部改过了。还是无效,很是纳闷。:confused:
就是不知道怎样启用这个模块,其它的还需要设置什么?
尝试了一下,在/usr/pkg/etc/httpd/httpd.conf里加上

代码: 全选

LoadModule rewrite_module modules/mod_rewrite.so
可是系统显示:
Syntax error on line 412 of /usr/pkg/etc/httpd/httpd.conf: module rewrite_module is built-in and can't be loaded

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

帖子 leo » 2010-05-23 5:42

刚才又试了一下在本地回灌discuz,发现静态化也不能应用,所以初步判断是NetBSD里的apache应该在什么地方设置一下才对。:cool:

正在研读这里:
http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html


=======================================================
默认编译时已经加上了大部分模块,包含rewrite模块,只是默认的httpd.conf文件没有开启这个功能,需要手动开启,最后终于搞定了NetBSD下apache2.2.15的rewrite。
需要修改默认的 /usr/pkg/etc/httpd/httpd.conf
默认没有开启rewrite功能,加上如下内容。:mad:

代码: 全选

options Indexes followsymlinks
allowoverride all
rewriteengine on
rewritebase /
rewriterule ^(.*)$ index.html.en [R=301]

头像
lionux
锌 Zn
帖子: 457
注册时间: 2010-02-04 11:09

帖子 lionux » 2010-05-27 14:42

leo 写了:刚才又试了一下在本地回灌discuz,发现静态化也不能应用,所以初步判断是NetBSD里的apache应该在什么地方设置一下才对。:cool:

正在研读这里:
http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html


=======================================================
默认编译时已经加上了大部分模块,包含rewrite模块,只是默认的httpd.conf文件没有开启这个功能,需要手动开启,最后终于搞定了NetBSD下apache2.2.15的rewrite。
需要修改默认的 /usr/pkg/etc/httpd/httpd.conf
默认没有开启rewrite功能,加上如下内容。:mad:

代码: 全选

options Indexes followsymlinks
allowoverride all
rewriteengine on
rewritebase /
rewriterule ^(.*)$ index.html.en [R=301]
代码下面有的是规则吧,写到网站根目录.htaccess里就行。

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

帖子 leo » 2010-05-27 14:49

lionux 写了:代码下面有的是规则吧,写到网站根目录.htaccess里就行。
leo 写了:刚才又试了一下在本地回灌discuz,发现静态化也不能应用,所以初步判断是NetBSD里的apache应该在什么地方设置一下才对。:cool:

正在研读这里:
http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html


=======================================================
默认编译时已经加上了大部分模块,包含rewrite模块,只是默认的httpd.conf文件没有开启这个功能,需要手动开启,最后终于搞定了NetBSD下apache2.2.15的rewrite。
需要修改默认的 /usr/pkg/etc/httpd/httpd.conf
默认没有开启rewrite功能,加上如下内容。:mad:

代码: 全选

options Indexes followsymlinks
allowoverride all
rewriteengine on
rewritebase /
rewriterule ^(.*)$ index.html.en [R=301]

代码下面有的是规则吧,写到网站根目录.htaccess里就行。
实际上只要在httpd.conf的最后加上rewriteengine on,再把allowoverride修改为all就可以了,.htaccess文件是yabbseo插件原有的,不想动,因为最近要升级论坛,还在为这个静态化链接平滑过渡发愁呢,我对SEO不熟悉。
原来一直用apache1.3,apache 2.2.15是头一次用,生疏得紧,此外,应该还有很多好的模块可以加载,可惜我还不熟悉。

回复

在线用户

正浏览此版面之用户: Bing [Bot] 和 0 访客