当前位置:首页 > 行业动态 > 正文

如何为织梦DedeCMS的问答模块设置伪静态规则?

织梦DedeCMS问答模块伪静态规则设置方法如下:,,1. 打开Apache的httpd.conf文件,找到` 标签;,2. 在 标签内添加以下代码:,,` ,RewriteEngine on,RewriteBase /,RewriteRule ^list([09]+).html$ list_article.php?tid=$1 [L],RewriteRule ^([azAZ09_]+)/([09]+).html$ details.php?id=$2&catid=1 [L],“,,3. 保存并重启Apache服务器。

织梦DedeCMS最详细的问答模块伪静态规则

开启DedeCms伪静态支持

1、后台设置

在后台的系统参数中找到核心设置,将“是否使用伪静态”选项设置为“是”。

如果启用了问答模块,还需要在后台的系统参数中找到模块设置,将“是否使用伪静态”选项设置为“是”。

2、栏目和文章设置

创建或批量增加栏目时,选择“使用动态页”。

添加新文章时,发布选项选择“仅动态浏览”,这些设置可以通过修改模板文件实现,让它们默认就是这两个值。

3、已生成静态页面的处理

如果网站已经存在生成的静态栏目或文章HTML,需要在后台的系统SQL命令行工具中执行以下语句:

update dede_arctype set isdefault=1; update dede_archives set ismake=1;

dede是安装时的数据表前缀,根据实际情况替换。

DedeCms问答模块伪静态实现步骤

1、顶级栏目的伪静态规则

RewriteRule ^([09]+)$ ?ct=browsertid=$1 [L]

解释:匹配数字ID的顶级栏目链接,如/123,重写为?ct=browsertid=123。

2、子级栏目的伪静态规则

RewriteRule ^t([09]+)$ ?ct=browsertid2=$1 [L]

解释:匹配以t开头后跟数字ID的子级栏目链接,如/t123,重写为?ct=browsertid2=123。

3、页的伪静态规则

RewriteRule ^([09]+).html$ ?ct=questionaskaid=$1 [L]

解释:匹配数字ID后跟.html页链接,如/123.html,重写为?ct=questionaskaid=123。

4、待解决问题、高悬赏问题等列表页规则

RewriteRule ^ask([09]+)$ ?ct=browserlm=$1 [L]

解释:匹配以ask开头后跟数字ID的列表页链接,如/ask123,重写为?ct=browserlm=123。

5、导航菜单(全部分类)伪静态规则

RewriteRule ^type$ ?ct=type [L]

解释:匹配type链接,重写为?ct=type。

6、顶级栏目列表页中的伪静态规则

RewriteRule ^tid([09]+)lm([09]+)$ ?ct=browsertid=$1lm=$2 [L]

解释:匹配以tid开头后跟数字ID和lm后跟数字ID的链接,如/tid123lm456,重写为?ct=browsertid=123lm=456。

7、全部查看伪静态规则

RewriteRule ^vtid([09]+)$ ?ct=browsertid=$1 [L] RewriteRule ^tidt([09]+)$ ?ct=browsertid2=$1 [L]

解释:分别匹配以vtid和tidt开头后跟数字ID的链接,如/vtid123和/tidt123,分别重写为?ct=browsertid=123和?ct=browsertid2=123。

8、编辑提问伪静态规则

RewriteRule ^askaid([09]+)$ ?ct=questionac=editaskaid=$1 [L]

解释:匹配以askaid开头后跟数字ID的编辑提问链接,如/askaid123,重写为?ct=questionac=editaskaid=123。

9、我的提问伪静态规则

RewriteRule ^myask$ ?ct=myask [L]

解释:匹配myask链接,重写为?ct=myask。

10、我的回答伪静态规则

RewriteRule ^answer$ ?ct=myaskac=answer3 [L]

解释:匹配answer链接,重写为?ct=myaskac=answer3。

FAQ常见问题解答

1、问:如何确认服务器是否支持伪静态?

:可以通过联系空间的IDC商确认,如果是自己的服务器,通常都支持伪静态,对于Apache服务器,可以在.htaccess文件中加入伪静态规则;对于IIS服务器,需要加载Rewrite组件并配置httpd.ini文件。

2、问:如何在DedeCMS V5.7中修改GetFileName()函数?

:打开/include/helpers/channelunit.helper.php文件,找到GetFileName()函数中的如下代码:

if($cfg_rewrite == 'Y') { return $GLOBALS["cfg_plus_dir"]."/view".$aid.'1.html'; }

将其替换为:

if($cfg_rewrite == 'Y') { return "/archives/view".$aid.'1.html'; }

这样可以将文章页默认的链接格式改为/archives/view11.html。

通过以上步骤和规则,可以实现织梦DedeCMS问答模块的伪静态,提高网站的SEO效果和用户体验。

| 问题 | 伪静态规则 |

| | |

| 如何开启织梦DedeCMS的伪静态功能? | 1. 进入织梦DedeCMS后台管理。

2、点击“系统设置” > “基本参数”。

3、在“URL模式”选项中,选择“伪静态模式”。

4、保存设置后,系统会自动生成伪静态规则文件。 |

| 伪静态规则文件在哪里? | 织梦DedeCMS伪静态规则文件通常位于网站根目录下的include文件夹中,名为.htaccess(对于Apache服务器)或web.config(对于IIS服务器)。 |

| Apache服务器的伪静态规则示例 | “`apache

RewriteEngine On

RewriteRule ^questions/([azAZ09_]+).html$ questions.php?questionid=$1 [L]

RewriteRule ^questions/([azAZ09_]+)/page([09]+).html$ questions.php?questionid=$1&page=$2 [L]

RewriteRule ^questions/([azAZ09_]+)([azAZ09_]+).html$ questions.php?questionid=$1&category=$2 [L]

RewriteRule ^questions/([azAZ09_]+)([azAZ09_]+)/page([09]+).html$ questions.php?questionid=$1&category=$2&page=$3 [L]

| IIS服务器的伪静态规则示例 | 使用IIS的URL重写功能,可以在web.config文件中添加以下配置:

<system.webServer>

<rewrite>

<rules>

<rule name="Questions" stopProcessing="true">

<match url="^questions/([azAZ09_]+).html$" />

<conditions>

<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />

<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />

</conditions>

<action type="Redirect" url="questions.php?questionid={R:1}" />

</rule>

<! 其他规则 >

</rules>

</rewrite>

</system.webServer>

| 如何自定义问答模块的URL格式? | 1. 在织梦DedeCMS后台管理。 2、点击“系统设置” > “URL规则设置”。 3、在“问答模块”的URL规则设置中,根据需要自定义URL格式。 4、保存设置后,系统会根据新的URL格式生成伪静态规则。 | | 伪静态规则中参数的含义 |questions/([azAZ09_]+).html:匹配问答模块的问答内容页面,其中[azAZ09_]+代表问答内容的ID。page([09]+).html:匹配问答内容的分页页面,其中[09]+代表页码。category/([azAZ09_]+):匹配问答内容的分类页面,其中[azAZ09_]+代表分类ID。 | | 伪静态规则配置后是否需要重启服务器? | 是的,配置伪静态规则后,通常需要重启Apache或IIS服务器才能使规则生效。 |

0