按照伪静态规则,但还是失败。
点击数:94 | 回复数:3 | 最后回复发表于02.05
1楼

- zhangtinggu
- 发表于 2010.01.30 16:28:36
我把PHPSAY放在网站的一个子目录bbs文件夹里面。安装成功并可正常使用,但使用无法伪静态。空间支持.htaccess,支持urlrewrite。。
可还是错误。
.htaccess文件内容如下:
RewriteEngine On
RewriteRule ^(.*)/category-([0-9]+)-([0-9]+).html?*(.*)$ $1/category.php?cid=$2&page=$3&$4
RewriteRule ^(.*)/bar-([0-9]+)-([0-9]+).html?*(.*)$ $1/forum.php?fid=$2&page=$3&$4
RewriteRule ^(.*)/topic-([0-9]+)-([0-9]+).html?*(.*)$ $1/topic.php?tid=$2&page=$3&$4
RewriteRule ^(.*)/member-([0-9]+).html?*(.*)$ $1/member.php?uid=$2&$3
请管理员帮忙解答下,谢谢。
查了很久,终于发现不能成功伪静态的原因,原来是IX空间的问题。。
对IX主机的ReWrite和.Htaccess文件的规则,笔者这里要多说两句:
目前很多程序都需要使用伪静态来优化网页和做搜索引擎优化(SEO),这必然要用到ReWrite重写,国外的多数Linux的主机都是支持.htaccess的方式实现rewrite的。
但是IX在这方面有些特殊。
最近有客户反应他的程序,PHP执行没问题,但是开启伪静态就无法访问。我们一起研究了4天,跟IX的客服也做了无数沟通,IX坚持说htaccess的规则有问题,而我们却一直找不到原因。
幸好客户自己懂得程序,我们拿出已经实现过伪静态的IX主机上的网站做对比,并且找到Discuz程序的规则,对照写了一下客户原来的规则,最后网站可以使用了。
我把前后两段htaccess代码给大家贴出来,大家看一下,希望有所借鉴。
之前的错误代码:
RewriteEngine On
RewriteRule ^(.*)/(content|user_order)-([0-9]+).html$ $1/$2.php?id=$3
RewriteRule ^(.*)/sell-.*-([0-9]+).html$ $1/index.php?g_id=$2
RewriteRule ^(.*)/index-.*([0-9]+).html$ $1/index.php?g_id=$2
RewriteRule ^(.*)/(video|news)-([0-9]+).html$ $1/$2.php?page=$3
现在正确的代码
RewriteEngine On
RewriteRule ^(content|user_order)-([0-9]+).html$ $1.php?id=$2
RewriteRule ^sell-.*-([0-9]+).html$ index.php?g_id=$1
RewriteRule ^index-([0-9]+).html$ index.php?g_id=$1
RewriteRule ^(video|news)-([0-9]+).html$ $1.php?page=$2
RewriteRule ^(.+).html$ $1.php
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
大家可以两个规则对比来看下,来完善自己的规则。
对IX主机的ReWrite和.Htaccess文件的规则,笔者这里要多说两句:
目前很多程序都需要使用伪静态来优化网页和做搜索引擎优化(SEO),这必然要用到ReWrite重写,国外的多数Linux的主机都是支持.htaccess的方式实现rewrite的。
但是IX在这方面有些特殊。
最近有客户反应他的程序,PHP执行没问题,但是开启伪静态就无法访问。我们一起研究了4天,跟IX的客服也做了无数沟通,IX坚持说htaccess的规则有问题,而我们却一直找不到原因。
幸好客户自己懂得程序,我们拿出已经实现过伪静态的IX主机上的网站做对比,并且找到Discuz程序的规则,对照写了一下客户原来的规则,最后网站可以使用了。
我把前后两段htaccess代码给大家贴出来,大家看一下,希望有所借鉴。
之前的错误代码:
RewriteEngine On
RewriteRule ^(.*)/(content|user_order)-([0-9]+).html$ $1/$2.php?id=$3
RewriteRule ^(.*)/sell-.*-([0-9]+).html$ $1/index.php?g_id=$2
RewriteRule ^(.*)/index-.*([0-9]+).html$ $1/index.php?g_id=$2
RewriteRule ^(.*)/(video|news)-([0-9]+).html$ $1/$2.php?page=$3
现在正确的代码
RewriteEngine On
RewriteRule ^(content|user_order)-([0-9]+).html$ $1.php?id=$2
RewriteRule ^sell-.*-([0-9]+).html$ index.php?g_id=$1
RewriteRule ^index-([0-9]+).html$ index.php?g_id=$1
RewriteRule ^(video|news)-([0-9]+).html$ $1.php?page=$2
RewriteRule ^(.+).html$ $1.php
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
大家可以两个规则对比来看下,来完善自己的规则。
1