yepeisheng 发表于 2012-4-5 23:34:54

【已解决】求助及吐槽 LNMPA rewrite_module 和 Xweibo 的伪静态

先要谢谢军哥做了这么好的一键安装包,让我这样的Linux小白,也能顺利在VPS上搭配好了服务器环境(CentOS 5.5)LNMPA。

现在遇到一个问题,安装Xweibo2.1 后,发现只要放入.htaccess 文件,就会出现500错误。

百度了一下,说是Apache的配置文件httpd.conf中没有写入mod_rewrite.so。

看了军哥给某人的回复,得到了一个模糊的信息:
1、LNMPA 中的Apache 的确没有安装 mod_rewrite.c;
2、可以在Apache中追加安装 mod_rewrite.c

于是继续百度,手动安装了LNMP0.8-full文件包中的 mod_rewrite.c
参考的帖子:http://blog.163.com/023_dns/blog/static/11872736620117234136363/

安装完毕,修改好httpd.conf,重启Apache,提示Syntax error on line 344 of /usr/local/apache/conf/httpd.conf: module rewrite_module is built-in and can't be loaded看来 rewrite_module 已经被支持了。
(不过,没有安装 mod_rewrite.c 之前,apache/modules 文件夹里是没有mod_rewriter.so 文件的 )

继续按照参考文章,在Apache/conf/vhost 目录文件中添加:Options FollowSymLinks
AllowOverride All
order allow,deny
Allow from all这已经是最后一步了。满心期待的上传了官方的.htaccess文件……
……结果还是500错误。不知道该如何进行下去了。

VPS上其它程序都很正常,伪静态也支持的很好。就是这个Xweibo不行。贴上Xweibo官方伪静态规则,真心求教(小白伤不起啊 .~…~.):# ------------------------------------------------------------------------------------------
# Xweibo2.0 ApacheRewrite 配置示例与说明
# Rewrite功能开启可能导致网站无法访问,请谨慎使用,
# 要使 .htaccess 文件生效 必须打开选项: AllowOverride All
#
# 以下配置为默认配置,特殊的服务器,或者你的Xweibo安装在某个子目录可能需要更改
#
# 重要!!!
# 如果你的网站因为开启 Rewrite 优化而导致网站无法访问,请参照如下方法进行恢复
#
# 1. 关闭 与 Xweibo 相关的 Rewrite 配置: RewriteEngine off 或者 注释、删除相关规则
# 2. 打开根目录的 index.php 将 define('R_FORCE_MODE', 0);注释去掉 ( 删除开头的 // )
# 3. 进入后台,Xweibo后台>系统设置>优化设置 关闭优化
# 4. 重新注释 index.php 中的 define('R_FORCE_MODE', 0); ( 在最前面加上 // )
#
# ------------------------------------------------------------------------------------------


# ------------------------------------------------------------------------------------------
# 是否打开(on|off) Rewrite 功能,
# 在打开此选项时 请在 Xweibo后台>系统设置>优化设置 中开启优化
RewriteEngine ON


# ------------------------------------------------------------------------------------------
# 禁止访问的路径,这条规则将保护站点的 以下目录和文件不能被HTTP直接访问
# RewriteCond $1 ^(application/|templates/|cron/|config\.php$|user_config\.php$)
# RewriteRule ^(.*)$ /deny.php


# ------------------------------------------------------------------------------------------
# 启用个性短链接
# xurl.com 可能是你的虚拟主机绑定的一个别名,
#    注意:xurl.com 只是一个示例的域名,你需要更改成你自己的短链域名
# 这条规则将 http://xurl.com/xxxxxx 重定向到 http://sinaurl.cn/xxxxxx
# 你在取消这条规则的注释之前,
#    1. 准备一个短链域名 如:xurl.com
#    2. 确认 xurl.com 已绑定、解释到你的主机,且与你访问 Xweibo 的域名不同
#    3. Xweibo后台>系统设置>短链域名设置 更改你的短链域名,并与以下规则条件中设置的域名相同

#RewriteCond %{HTTP_HOST} ^xurl.com$
#RewriteRule ^(.*)$ http://sinaurl.cn/$1


# ------------------------------------------------------------------------------------------
# 启用个性域名
# 在以下两条规则的注释之前请在 Xweibo后台>系统设置>开启个性域名 中开启个性域名功能
# 注如果你的服务器中 %{DOCUMENT_ROOT} 不准确,你可以用你安装 Xweibo 的绝对路径替换


# 处理自定义个性域名
# 1. 可以通过类 http://demo.xweibo.cn/darkboy      访问某人微博
# 2. 可以通过类 http://demo.xweibo.cn/2097085384      访问某人微博

#RewriteRule ^({1,})$ /index.php?m=ta&id=$1

#RewriteCond $1 !^(js/|img/|css/|flash/|var/|robots\.txt$|.+\.php$|crossdomain\.xml$|favicon\.ico$|admin/$)
#RewriteCond %{DOCUMENT_ROOT}/application/controllers/$1.mod.php !-f
#RewriteRule ^({5,})$ /index.php?m=ta&_udomain=$1





# ------------------------------------------------------------------------------------------
# 普通入口 这条规则使用户可以用 美化的URL访问 Xweibo前端如: http://xxx.com/show/id-9019492199

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(admin/)
RewriteRule ^(.*)$ /index.php/$1?%{QUERY_STRING}
# ------------------------------------------------------------------------------------------
代码中有这么一句 # 要使 .htaccess 文件生效 必须打开选项: AllowOverride All

出现500错误,究竟是什么原因呢?

:funk:

[ 本帖最后由 yepeisheng 于 2012-4-6 22:12 编辑 ]

licess 发表于 2012-4-6 09:35:05

rewrite_module都是直接编译上了的

500错误原因不清楚

sunnyADboy 发表于 2012-4-6 14:44:48

回复 1# 的帖子

Xweibo这东东很诡异的

我之前也碰到过这个情况 实际应该是编码问题 你把.htaccess文件里的内容都复制下来 然后重新生成个.htaccess文件 再把内容拷进去 再编辑你的规则
之所以不生效是因为新浪说不要用记事本去编辑 你可能用类似的工具编辑后 编码乱了

yepeisheng 发表于 2012-4-6 22:11:47

感谢 sunnyADboy 的重要提示

经过sunnyADboy的提示,规范的使用了UltraEdit,编辑.htaccess文件上传后,终于实现了Xweibo的伪静态。非常感谢!

坛子里有军哥,还有大家都好热心,感动中……

fineusb 发表于 2012-4-6 23:38:55

这个应当是编码的问题了:lol
页: [1]
查看完整版本: 【已解决】求助及吐槽 LNMPA rewrite_module 和 Xweibo 的伪静态