如何为织梦DedeCMS的问答模块设置伪静态规则?
- 行业动态
- 2024-10-16
- 1
织梦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服务器才能使规则生效。 |
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/126977.html