站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
Discuz:Discuz!URL静态化的使用
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
<span style="border:1px solid #000; text-align:center; float:right; padding:6px; margin-bottom:15px;"><strong>导航:</strong> [[Discuz:高级应用|上一级]] | [[Discuz]] | {{Template:Discuz导航}}</span> <div style="clear:both; border:1px solid darkslateblue; background:#f0f0f0; font-size:14px; font-weight:bold; margin:20px 0 20px; padding:0 5px;"> Discuz! URL 静态化的使用 </div> <ul style="list-style:none; line-height:20px;"><li> [[Discuz]]! 4.1.0 新增了 Discuz! [[URL]] 静态化(以下简称 URL 静态化)功能。此功能可以将 Discuz! Archiver 及部分常用页面(如 forumdisplay.[[php]]、viewthread.php、viewpro.php 等)进行 URL 静态化转换,形成类似 <nowiki>http://www.demo.net/discuz/forum-1-1.html</nowiki> 形式的[[超级链接]],从而使论坛内容更容易被[[搜索引擎]]挖掘,提高被收录的机率。</li></ul> '''使用注意事项''' <ul style="list-style:disc; line-height:20px; margin-left:40px;"> <li>您可以通过 系统设置 中 Discuz! 选项 来控制 URL 静态化 的打开或关闭及其工作状态</li> <li>本功能对[[服务器]]环境有特殊要求,独立主机用户需要对 [[Web]] 服务器增加相应的 Rewrite 规则,因此需要服务器权限才可使用。对于[[虚拟主机]]用户,您需要向您的[[空间]]服务商进行咨询:空间是否支持 Rewrite 以及是否支持对站点目录中 .htaccess 的文件解析,只有满足这两条件,URL 静态化 功能才会生效。</li> <li>打开 URL 静态化 后,论坛一些常用链接会变成类似 <nowiki>http://www.demo.net/discuz/forum-1-1.html</nowiki> 形式,如果您的服务器环境不支持或者尚未配置好,访问这些链接会出现“[[网页]]无法显示”的错误信息,论坛将无法正常访问。发生无法访问的现象时,请您进入管理后台,关闭 URL 静态化 功能,论坛即可恢复正常状态。</li></ul> '''URL 静态化 工作状态''' 在 Discuz! 选项 中提供了四种 URL 静态化 的工作状态,分别是: <ul style="list-style:decimal; line-height:20px; margin-left:30px;"> <li style="font-size:8pt; font-weight:600; color:#666;">无</li> <ul style="list-style:none; margin-left:20px;"><li>不启用 URL 静态化 功能。</li></ul> <li style="font-size:8pt; font-weight:600; color:#666;">Discuz! Archiver 静态化</li> <ul style="list-style:none; margin-left:20px;"><li>当论坛启用 Archiver 功能时,Archiver 内的所有链接均采用 *.html 形式。</li></ul> <li style="font-size:8pt; font-weight:600; color:#666;">普通页面静态化</li> <ul style="list-style:none; margin-left:20px;"><li>对论坛常用页面(如 forumdisplay.php、viewthread.php、viewpro.php、space.php 等)进行 URL 静态化转换。</li></ul> <li style="font-size:8pt; font-weight:600; color:#666;">Archiver 和普通页面均静态化</li> <ul style="list-style:none; margin-left:20px;"><li>对 Archiver 以及论坛常用页面(如 forumdisplay.php、viewthread.php、viewpro.php、space.php 等)进行 URL 静态化转换。</li></ul></ul> <div style="border:1px solid darkslateblue; background:#f0f0f0; font-size:14px; font-weight:bold; margin:20px 0 20px; padding:0 5px;"> Discuz! URL 静态化 服务器环境的设置 </div> <ul style="line-height:20px; list-style:none;"><li>Discuz! URL 静态化 功能受到论坛所在服务器环境的制约,在开启此功能之前,请根据你的 Web 服务器环境,选择相应的环境配置方法。错误的设置有可能造成服务器无法启动或者功能无效。以下仅提供 [[Apache]] 和 Zeus 的配置方法,[[IIS]]或其他 Web 服务器您可根据原理自行修改。</li></ul> '''Apache Web Server(独立主机用户)''' 首先确定您使用的 Apache 版本,及是否加载了 mod_rewrite 模块。 Apache 1.x 的用户请检查 conf/httpd.conf 中是否存在如下两段代码: <div><pre style="border:1px solid #cccccc; background:#efefef; line-height:20px; padding:5px 0;"> LoadModule rewrite_module libexec/mod_rewrite.so </pre></div> <div><pre style="border:1px solid #cccccc; background:#efefef; line-height:20px; padding:5px 0;"> AddModule mod_rewrite.c </pre></div> Apache 2.x 的用户请检查 conf/httpd.conf 中是否存在如下一段代码: <div><pre style="border:1px solid #cccccc; background:#efefef; line-height:20px; padding:5px 0;"> LoadModule rewrite_module modules/mod_rewrite.so </pre></div> <ul style="line-height:20px; list-style:none;"><li> 如果存在,那么在配置文件(通常就是 conf/httpd.conf)中加入如下代码。此时请务必注意,如果[[网站]]使用通过虚拟主机来定义,请务必加到虚拟主机配置,即 <VirtualHost> 中去,如果加在虚拟主机配置外部将可能无法使用。改好后然后将 Apache 重启。</li></ul> <div><pre style="border:1px solid #cccccc; background:#efefef; line-height:20px; padding:5px 0;"> <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^(.*)/archiver/((fid|tid)-[\w\-]+\.html)$ $1/archiver/index.php?$2 RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+)\.html$ $1/forumdisplay.php?fid=$2&page=$3 RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/viewthread.php?tid=$2&extra=page\%3D$4&page=$3 RewriteRule ^(.*)/space-(username|uid)-(.+)\.html$ $1/space.php?$2=$3 RewriteRule ^(.*)/tag-(.+)\.html$ $1/tag.php?name=$2 </IfModule> </pre></div> <ul style="line-height:20px; list-style:none;"><li> 如果没有安装 mod_rewrite,您可以重新编译 Apache,并在原有 configure 的内容中加入 --enable-rewrite=shared,然后再在 Apache 配置文件中加入上述代码即可。</li></ul> '''Apache Web Server(虚拟主机用户)''' <ul style="line-height:20px; list-style:none;"><li> 在开始以下设置之前,请首先咨询您的空间服务商,空间是否支持 Rewrite 以及是否支持对站点目录中 .htaccess 的文件解析,否则即便按照下面的方法设置好了,也无法使用。</li> <li>检查论坛所在目录中是否存在 .htaccess 文件,如果不存在,请手工建立此文件。Win32 系统下,无法直接建立 .htaccess 文件,您可以从其他系统中拷贝一份,或者在 Discuz.net 技术支持栏目中下载此文件。编辑并修改 .htaccess 文件,添加以下内容</li></ul> <div><pre style="border:1px solid #cccccc; background:#efefef; line-height:20px; padding:5px 0;"> # 将 RewriteEngine 模式打开 RewriteEngine On # 修改以下语句中的 /discuz 为你的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 / RewriteBase /discuz # Rewrite 系统规则请勿修改 RewriteRule ^archiver/((fid|tid)-[\w\-]+\.html)$ archiver/index.php?$1 RewriteRule ^forum-([0-9]+)-([0-9]+)\.html$ forumdisplay.php?fid=$1&page=$2 RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ viewthread.php?tid=$1&extra=page\%3D$3&page=$2 RewriteRule ^space-(username|uid)-(.+)\.html$ space.php?$1=$2 RewriteRule ^tag-(.+)\.html$ tag.php?name=$1 </pre></div> <ul style="line-height:20px; list-style:none;"><li> 添加内容时,请遵照上面的提示,修改论坛所在的路径,然后保存。将 .htaccess 文件上传到论坛所在的目录中。然后进入论坛系统设置的搜索引擎优化,根据需要开启 URL 静态化功能。</li></ul> '''IIS Web Server(独立主机用户)''' <ul style="line-height:20px; list-style:none;"><li> 首先在 IIS 的 Isapi 上添加这个筛选器,筛选器名称为 Rewrite ,可执行文件选择 Rewrite.dll ,重新启动 IIS。附件中 httpd.ini 已经设置好,其中内容如下:</li> <div><pre style="border:1px solid #cccccc; background:#efefef; line-height:20px; padding:5px 0;"> [ISAPI_Rewrite] # 3600 = 1 hour CacheClockRate 3600 RepeatLimit 32 # Protect httpd.ini and httpd.parse.errors files # from accessing through HTTP RewriteRule ^(.*)/archiver/((fid|tid)-[\w\-]+\.html)\?*(.*)$ $1/archiver/index\.php\?$2&$4 RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+)\.html\?*(.*)$ $1/forumdisplay\.php\?fid=$2&page=$3&$4 RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html\?*(.*)$ $1/viewthread\.php\?tid=$2&extra=page\%3D$4&page=$3&$4 RewriteRule ^(.*)/space-(username|uid)-(.+)\.html\?*(.*)$ $1/space\.php\?$2=$3&$4 RewriteRule ^(.*)/tag-(.+)\.html\?*(.*)$ $1/tag\.php\?name=$2&$3 </pre></div> <ul style="line-height:20px; list-style:none;"><li> 然后进入论坛系统设置的[[搜索引擎优化]],根据需要开启 URL 静态化功能。</li> <li>附件下载地址:[http://www.discuz.net/attachment.php?aid=124274 http://www.discuz.net/attachment.php?aid=124274]</li></ul> '''Zeus Web Server''' 在虚拟主机配置中找到 Request Rewriting,在 Rewrite Script 中写入以下内容,然后 Apply changes 并 make it take effect。 <div><pre style="border:1px solid #cccccc; background:#efefef; line-height:20px; padding:5px 0;"> match URL into $ with ^(.*)/archiver/((fid|tid)-[\w\-]+\.html)?*(.*)$ if matched then set URL = $1/archiver/index.php?$2&$4 endif match URL into $ with ^(.*)/forum-([0-9]+)-([0-9]+)\.html?*(.*)$ if matched then set URL = $1/forumdisplay.php?fid=$2&page=$3&$4 endif match URL into $ with ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html?*(.*)$ if matched then set URL = $1/viewthread.php?tid=$2&extra=page\%3D$4&page=$3&$4 endif match URL into $ with ^(.*)/space-(username|uid)-(.+?)\.html?*(.*)$ if matched then set URL = $1/space.php?$2=$3&$4 endif match URL into $ with ^(.*)/tag-(.+?)\.html?*(.*)$ if matched then set URL = $1/tag.php?name=$2$3 endif </pre></div> 修改完服务器配置后请进入论坛 系统设置,打开 URL 静态化 功能,测试功能是否正常。如果出现问题,请仔细检查你所做的每一步。 [[category:Discuz高级应用]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:Discuz导航
(
查看源代码
)(受保护)