发新帖

[4.0] 如何设置Xiuno BBS URL-Rewrite(伪静态设定)

axiuno 2012-2-23 35519

XiunoBBS 只需要一条规则:

*.htm* 转发到 index.php?*.htm* 即可。


Xiuno BBS 4.0 / 2.0 需要编辑 conf/conf.php

1. 编辑 'url_rewrite_on'=>1,

2. 清空 tmp 目录 



Nginx:

打开 nginx 配置文件 /usr/local/nginx/conf/nginx.conf 找到对应的虚拟主机配置处,追加加粗行:

 

location / {
         rewrite "^(.*)/(.+?).htm$" $1/index.php?$2.htm last;

         if (!-e $request_filename) {

                 rewrite  ^(.*)$  /index.php?s=$1  last;

        }

        index    index.html index.htm index.php;
        root     /data/wwwroot/xiuno.com;

 

然后重新启动 nginx: service nginx restart

 

Apache:

vim /etc/httpd/conf/httpd.conf

<Directory d:/xiuno.com>

    Options FollowSymLinks ExecCGI Indexes

    AllowOverride all

    Order deny,allow

    Allow from all

    Satisfy all

</Directory>

NameVirtualHost *:80


Apache .htaccess

如果Appache 支持 .htaccess,那么可以编辑 .htaccess 文件放置于根目录下:

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^admin/(.*)\.htm(.*)$ /admin/index.php?$1.htm$2 [L]

RewriteRule ^mobile/(.*)\.htm(.*)$ /mobile/index.php?$1.htm$2 [L]

RewriteRule ^(.*)\.htm(.*)$ /index.php?$1.htm$2 [L]

</IfModule>


Apache httpd.conf

如果将规则直接放入 httpd.conf 则需要在前面加 / ,看来 Apache 也反人类:

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^/admin/(.*)\.htm(.*)$ /admin/index.php?$1.htm$2 [L]

RewriteRule ^/mobile/(.*)\.htm(.*)$ /mobile/index.php?$1.htm$2 [L]

RewriteRule ^/(.*)\.htm(.*)$ /index.php?$1.htm$2 [L]

</IfModule>



 SAE环境,根目录建立 config.yaml 文件:

appname: axiuno
version: 1
handle:
- rewrite: if ( !is_dir() && !is_file() && path ~ "admin/(.*.htm)" ) goto "admin/index.php?%1"

- rewrite: if ( !is_dir() && !is_file() && path ~ "mobile/(.*.htm)" ) goto "mobile/index.php?%1"

- rewrite: if ( !is_dir() && !is_file() && path ~ "[^/?].htm" ) goto "index.php?%1"



IIS: 

1. 下载 Rewrite.zip

2. 解压到 c:\Rewrite

3. 在IIS的Isapi上添加这个筛选器, 筛选器名称Rewrite,可执行文件选择 Rewrite.dll

4. 重新启动IIS

5. httpd.ini 是配置文件,如果您了解Rewrite 规则,可以直接对其进行编辑,以下为包内设置好的Xiuno BBS的规则:

[ISAPI_Rewrite]

# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32

#RewriteRule .*\.(?:gif|jpg|png|css|js|txt|jpeg|swf|flv) $0 [I,L] 

#RewriteRule /httpd(?:\.ini|\.parse\.errors) / [F,I,O]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^/mobile(.*)\.htm(.*) /mobile/index.php?$1.htm$2 [L]
RewriteRule ^/admin(.*)\.htm(.*) /admin/index.php?$1.htm$2 [L]
RewriteRule ^(.*)\.htm(.*) /index.php?$1.htm$2 [L]



另外一种 IIS Rewrite:

[ISAPI_Rewrite]

# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^/mobile/(.*)\.htm(.*) /mobile/$1.htm$2 [L]

RewriteRule ^/admin/(.*)\.htm(.*) /admin/$1.htm$2 [L]

RewriteRule ^(.*)\.htm(.*)$ /$1.htm$2 [L]



如果要放到目录下,比如 bbs 目录,在 rewrite 规则前面加上目录即可,比如 apache .htaccess:

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^bbs/admin/(.*)\.htm(.*)$ /admin/index.php?$1.htm$2 [L]

RewriteRule ^bbs/mobile/(.*)\.htm(.*)$ /mobile/index.php?$1.htm$2 [L]

RewriteRule ^bbs/(.*)\.htm(.*)$ /index.php?$1.htm$2 [L]

</IfModule>


IIS 的高版本配置方法:

IIS 的高版本配置方法1:http://bbs.xiuno.com/thread-9008.htm

IIS 的高版本配置方法2:http://bbs.xiuno.com/thread-9411.htm

IIS 的详细配置方法请参看:http://my.oschina.net/lyx2012/blog/60198


IIS Rewrite 支持 Apache .htaccess :ISAPI_Rewrite3.zip   



反人类的 IIS REWRITE!!!




最新回复 (174)
iqpkeq 2012-3-7
1
稳坐沙发,支持!
axiuno 2012-3-18
2
今天发现一个 WDCP(一套Linux下的虚拟主机管理软件)下启用 rewrite 的问题,总结下几个要点:

1. 只启用 apache 模式(内含 nginx, nginx+apache 其他模式)。

2.  添加rewrite 规则,名字叫:xiuno_apache.conf

3. 站点编辑,启用xiuno_apache.conf,内容(红色必须有):

      RewriteEngine on

      RewriteRule ^/admin/([^/]+)\.htm$ /admin/index.php?$1.htm [L]

      RewriteRule ^/([^/]+)\.htm$ /index.php?$1.htm [L]

      

4. 重启 web server

coo 2012-5-4
3
apache怎么设置
盐城生活网 2012-5-4
4
IIS的呢 怎么设置?
axiuno 2012-5-4
5
apache 已经放上去了,iis 随后贴上来
qihong1121 2012-5-4
6
5.4最新版本后台不能开启伪静态,选择是并确认之后,刷新看到还是否。NPMserv测试。
coo 2012-5-4
7
apache有没有.hc那种格式的
axiuno 2012-5-4
8
如果apache 支持 .htaccess, 那么新建一个文件: .htaccess 里面只需要写: 

      RewriteEngine on
      RewriteRule ^/([^/]+)\.htm$ /index.php?$1 [L]
      RewriteRule ^/admin/([^/]+)\.htm$ /admin/index.php?$1 [L]

放在网站根目录即可。
coo 2012-5-4
9
'urlrewrite' => '?',
我配置了 这个里面没有问号
这个里面是填什么
?还是别的
axiuno 2012-5-4
10
如果要手工开启 urlrewrite, 修改配置文件 conf/conf.php:

Xiuno BBS 2.0.0 RC1:
'urlrewrite' => '?', 改为 'urlrewrite' => '',

Xiuno BBS 2.0.0 RC2:
'urlrewrite' => 0, 改为 'urlrewrite' => 1,


删除 tmp/tpl_*.php 
coo 2012-5-4
11
      RewriteEngine on
       RewriteRule ^/([^/]+)\.htm$ /index.php?$1 [L]
       RewriteRule ^/admin/([^/]+)\.htm$ /admin/index.php?$1 [L]
不对,放在htac里面,后台都进不了!
qihong1121 2012-5-7
12
我也遇到这样的问题。NPMserv下用对应的规则,正常,换到linux主机,用Apache规则就不行了。
nestlake 2012-5-8
13
支持!
yanzees 2012-5-17
14
配置成功,3Q
nestlake 2012-7-15
15
附件无法下载
nestlake 2012-7-23
16
有nginx的规则吗
waa 2012-8-24
17
没成啊。
ringringt 2012-9-10
18

linux下的
Apache .htaccess规则

RewriteEngine on
RewriteRule ^([^/]+)\.htm$ index.php?$1.htm [L]
RewriteRule ^admin/([^/]+)\.htm$ admin/index.php?$1.htm [L]

这个有问题,上传文件 并在后台开启后 静态化链接不能访问。

ringringt 2012-9-10
19
Apache .htaccess


RewriteEngine on
RewriteRule ^([^/]+)\.htm$ index.php?$1.htm [L]
RewriteRule ^admin/([^/]+)\.htm$ admin/index.php?$1.htm [L]
这个有问题,求帮助!!
ringringt 2012-9-10
20
linux下的
Apache .htaccess规则

RewriteEngine on
RewriteRule ^([^/]+)\.htm$ index.php?$1.htm [L]
RewriteRule ^admin/([^/]+)\.htm$ admin/index.php?$1.htm [L]

这个有问题,上传文件 并在后台开启后 静态化链接不能访问。
piao 2012-10-29
21
cookiepre
xp 2012-11-3
22
后台不能开启伪静态,选择是并确认之后,刷新看到还是否。手动开启后,即那里http.ini,上传网站目录后前台和后台都打不开。
环境:OS: WINNTWeb Server: Microsoft-IIS/6.0PHP: 5.2.17 (查看PHP.ini)DB: mysql (5.0.81-community-nt)disable_functions: exec,system,passthru,popen,pclose,shell_exec,proc_open,dl,chmod 
建议禁用如下函数:
exec,system,passthru,shell_exec,system,cmd,popen,dl,proc_open,curl_exec,
curl_multi_exec,parse_ini_file,show_sourceupload_max_filesize: 20Mpost_max_size: 8Mallow_url_fopen: 是 (建议不要开启,某些主机会导致CPU 100%,并且导致不安全)safe_mode: 否 (建议开启)max_execution_time: 30 (建议为10秒)memory_limit: 128M (建议为10M)
wzlab 2012-12-22
23
有没有人为  CentOS 的 LNMP9.0的配置环境的。球伪静态设置。。。
wzlab 2012-12-23
24
配置失败。直接挂掉坛子了
fyfyfy 2013-3-17
25
虚拟主机不能改吗?
heshiqi 2013-4-9
26
最新版的设置失败
heshiqi 2013-4-9
27
nginx设置失败
heshiqi 2013-4-9
28
伪静态设置好了,真不能用win记事本编辑,犯了个低级错误
heshiqi 2013-4-9
29
伪静态设置好了,真不能用win记事本编辑,犯了个低级错误
heshiqi 2013-4-9
30
伪静态设置好了,真不能用win记事本编辑,犯了个低级错误
完美在线 2013-4-23
31
web.config 这个怎么写规则
完美在线 2013-4-23
32
这是原来的
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<defaultDocument>
<files>
<remove value="iisstart.htm" />
</files>
</defaultDocument>
<rewrite>
    ...


lihuimail 2013-5-12
33
mark
tinsn 2013-5-14
34
2.0.3, 
编辑 conf/conf.php
     找到 'urlrewrite' => 0, 修改为:
      'urlrewrite' => 1,
 清空 tmp 目录

即可
游客 2013-5-17
35
我开启了伪静态之后 前台用户无法登陆 后台管理员也无法登陆
jinhoho 2013-5-18
36
空城 2013-5-22
37
引用 admin:

今天发现一个 WDCP(一套Linux下的虚拟主机管理软件)下启用 rewrite 的问题,总结下几个要点:1. 只启用 apache 模式(内含 nginx, nginx+apache 其他模式)。2.  添加rewrite 规则,名字叫:xiuno_apache.conf3. 站点编辑,启用xiuno_apache.conf,内容(红色必须有):     

还有一个叫 LuManager 也不错,LuManager和WDCP应该是目前国内最知名的两款免费虚拟主机管理软件


游客 2013-5-29
38
太难了 看不懂!!
up 2013-6-5
39
引用 admin:

URL-Rewrite 对SEO帮助很大,开启 URL-REWRITE 需要以下步骤:
1. 编辑 conf/conf.php      找到 'urlrewrite' => 0, 修改为:       'urlrewrite' => 1,
2. 清空 tmp 目录<


请教lighttpd的伪静态如何写?
另外这些写法是 通用还是说针对xiuno bbs的写法?
wordpress博客lighttpd的伪静态只要指定404错误页面到index.php就可以了。其他我也不太熟。
隔夜果酱 2013-6-18
40
设置好了,谢谢
wzcm87 2013-6-24
41
记录下这个
游客 2013-6-27
42
IIS 服务器 配置成功 伪静态  http://www.baaee.com
mrlbz 2013-7-4
43
楼主很热心
游客 2013-7-14
44
为什么我的配置失败了,使用的是httpd.ini
cyqiao 2013-7-26
45

@admin
视而不见??
cyqiao 2013-7-26
46
引用 ringringt:

linux下的 Apache .htaccess规则
RewriteEngine on RewriteRule ^([^/]+)\.htm$ index.php?$1.htm [L] RewriteRule ^admin/([^/]+)\.htm$ admin/index.php?$1.htm [L]
这个有问题,上传文件 并在后台开启后 静态化链接不能访问。



suoniao 2013-8-6
47
非常不错的教程啊!
游客 2013-8-21
48
带问号怎么解决啊 apache
hir30 2013-8-27
49
.htaccess  文件               是放在全站根目录还是论坛根目录          我的是用二级域名绑定bbs子目录的,所以地址是bbs.xxx.com的形式
无敌者66 2013-10-21
50
后台没有开启伪静态开启的功能,请问如何配置伪静态,大侠能给个详细的配置步骤么,我大菜鸟,求指导!谢谢!
无敌者66 2013-10-21
51
引用 admin:

如果apache 支持 .htaccess, 那么新建一个文件: .htaccess 里面只需要写: 
      RewriteEngine on
      RewriteRule&nb

你好,我对技术是菜鸟,能给我指导下如何配置伪静态吗,目前是动态网址,对SEO不是很好,谢谢!

无敌者66 2013-10-23
52
引用 yanzees:

配置成功,3Q

你好,看到你的伪静态配置成功,我对着设置不太懂,麻烦给我点指点下,谢谢~

游客 2013-10-25
53
学习学习
游客 2013-12-12
54
WIN主机,设置完IIS后,直接无法访问,把1改为0无作用
倚楼观天象 2013-12-19
55
引用 admin:

今天发现一个 WDCP(一套Linux下的虚拟主机管理软件)下启用 rewrite 的问题,总结下几个要点:1. 只启用 apache 模式(内含 nginx, nginx+apache 其他模式)。2.  添加rewrite 规则,名字叫:xiuno_apache.conf3. 站点编辑,启用xiuno_apache.conf,内容(红色必须有):     

这个错误我也遇到过,不过我深入的检查了下.发现是wp的nginx的默认配置的问题

解决方案也很简单

就是站点取消掉缓存事项即可

启用客户端缓存

benpig 2014-1-13
56
马赛克
sonsoo 2014-3-9
57
阿里云的有吗?
游客 2014-3-19
58
IIS怎么设置
827509250 2014-4-12
59
游客 2014-5-21
60
可能我操作不当,弄了之后进入管理404了。
970443232 2014-6-1
61
留个脚印
游客 2014-6-11
62
引用 coo:

apache有没有.hc那种格式的

对的

dandelion 2014-6-17
63
留给脚印
zhouhuan18 2014-12-15
64
lighttpd下用

                "^/admin/([^/]+).htm$" => "/admin/index.php?$1.htm",
                "^/([^/]+).htm$" => "/index.php?$1.htm",

测试成功
luojunjin 2015-1-11
65
板块分类怎么做呢
dennispritt 2015-1-18
66

版主大人,带?号的怎么去掉啊,Apache  

真心捉急啊!

@admin

dennispritt 2015-1-18
67
引用 admin:

今天发现一个 WDCP(一套Linux下的虚拟主机管理软件)下启用 rewrite 的问题,总结下几个要点:1. 只启用 apache 模式(内含 nginx, nginx+apache 其他模式)。2.  添加rewrite 规则,名字叫:xiuno_apache.conf3. 站点编辑,启用xiuno_apache.conf,内容(红色必须有):     

站长大人,带?的怎么去掉啊???

游客 2015-1-28
68
iis用了httpd.ini 然后就提示重定向循环
游客 2015-1-28
69
win主机iis 7.5 虚拟主机 伪静态设置错误    地址http://www.xamlt.cn
waa 2015-3-15
70
aliapp ACE的配置文件 admin是写在 app yaml里的吧 直接贴 Nginx 的好像不行。
游客 2015-5-26
71
IIS 下

RewriteRule ^(.*)/([^?/]+)\.htm$ $1/index\.php\?$2.htm
RewriteRule ^(.*)/([^?/]+)\.htm\?(.*)$ $1/index\.php\?$2\.htm&$3

我按这种方式设置的,页面就打不开了。我的系统是windows 2003,iis6,用的 Xiuno BBS 2.1.0。是我哪里设置出问题了呢?你们有没有用这个伪静态成功的?
www.xiguade.com 2015-6-26
72
www.xiguade.com 我也想做一个这样的
游客 2015-7-28
编辑 删除 73
根据国家狂欢节快回家看
游客 2015-7-29
编辑 删除 74
很好的论坛
游客 2015-7-29
编辑 删除 75
很好用。。。。以前本机不会弄伪态。。现在开启了。。快很多

www.lonei.com
人才啊 2015-7-29
76
Nginx只加

if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
}


游客 2015-7-31
编辑 删除 77
免费空间怎么设置啊,php的
axiuno 2015-8-1
78
iis 7.5 经过网友测试,追加此条后才能进入后台:
  <add input="{R:1}" pattern="^(admin)" ignoreCase="false" negate="true" />
lfj03@qq.com 2015-8-1
79
试试看
游客 2015-8-1
编辑 删除 80
游客发帖
游客 2015-8-3
编辑 删除 81
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
#RewriteRule .*\.(?:gif|jpg|png|css|js|txt|jpeg|swf|flv) $0 [I,L]
#RewriteRule /httpd(?:\.ini|\.parse\.errors) / [F,I,O]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/mobile(.*)\.htm /mobile/index.php?$1.htm [L]
RewriteRule ^/admin(.*)\.htm /admin/index.php?$1.htm [L]
RewriteRule ^(.*)\.htm /index.php?$1.htm [L]
3.0改成这样的附件不能下载
完美在线 2015-8-3
82
为什么我3.0的附件不能下载
axiuno 2015-8-12
83
如果要开启自定义URL,那么 IIS 得设置为:

[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
#RewriteRule .*\.(?:gif|jpg|png|css|js|txt|jpeg|swf|flv) $0 [I,L] 
#RewriteRule /httpd(?:\.ini|\.parse\.errors) / [F,I,O]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /index.php?$1 [L]

游客 2015-8-13
编辑 删除 84
啦啦啦
游客 2015-8-19
编辑 删除 85
感觉好难安装吧
humility 2015-8-19
86
是的啊
游客 2015-8-20
编辑 删除 87
服务商是应用LEMP, 也一直没找到nginx.conf这个文件,能不能用比较简单的方式,直接设置Xiuno BBS URL-Rewrite,或者是网站正式页面出来后再应用。



不然这样也是很难搞,查询也问过了。能不能用比较简单的
游客 2015-8-26
编辑 删除 88
NB
游客 2015-8-31
编辑 删除 89
测试
892052001@qq.com 2015-9-2
90
后台用不了啊,点啥 都说该功能未实现~!!
真帅 2015-9-6
91
http://bbs.xiuno.com/thread-9411.htm
设置Xiuno BBS URL-Rewrite(WINDOWS2008+IIS7.5伪静态设定)
good532@163.com 2015-9-7
92
这个论坛非常好。
464979532 2015-9-7
93
ix伪静态怎么弄
464979532 2015-9-7
94
Apache .htaccess规则

RewriteEngine on
RewriteRule ^([^/]+)\.htm$ index.php?$1.htm [L]
RewriteRule ^admin/([^/]+)\.htm$ admin/index.php?$1.htm [L]

这个有问题,上传文件 并在后台开启后 静态化链接不能访问。
游客 2015-9-12
编辑 删除 95
2/32-34-35
chanel replica handtasche http://www.replicasbag.net/de/-c87_90/
游客 2015-9-12
编辑 删除 96
2015-7-28
chanel handtaschen Kopie http://www.replicasbag.net/de/-c87_89/
axiuno 2015-9-14
97
apache 2.0 2.2 httpd.conf .htaccess 的伪静态规则有一点点差异。路径有的可以支持 / 开头,有的不行!都试试
axiuno 2015-9-14
98

有人说不知道 rewrite 放哪里,我贴出来官方的一段:

[root@xiuno /]# cat /usr/local/nginx/conf/vhosts/bbs.xiuno.com.conf 

#xiuno.com

server {

        listen    80; 

        server_name   bbs.xiuno.com;

        access_log    /data/log/bbs.xiuno.com.access.log combined;

        error_log     /data/log/bbs.xiuno.com.error.log crit;

        location / { 

                rewrite "^(.*)/(.+?).htm$" $1/index.php?$2.htm last;

                if (!-e $request_filename) {

                        rewrite  ^(.*)$  /index.php?s=$1  last;

                }


                index    index.html index.htm index.php;

                root     /home/wwwroot/bbs.xiuno.com;

        }   





zengshanqi 2015-9-16
99
老大,WampServer2.5,伪静态怎么设置啊?完全看不懂这个东东。
返回