标签;,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伪静态支持
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服务器才能使规则生效。 |
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1217770.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复