在织梦CMS中实现问答模块的rewrite伪静态设置,可以通过以下两种常见的服务器环境配置来实现:Apache和IIS,以下是详细的步骤说明:
Apache环境下的配置
1、创建.htaccess
文件:
在织梦CMS网站的根目录下创建一个名为.htaccess
的文件。
编辑该文件,添加如下内容(可以根据需要手动修改正则表达式):
“`apache
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)/questionid([09]+).html$ $1/question.php?id=$2 [L]
RewriteRule ^(.*)/browsertid([09]+).html$ $1/browser.php?tid=$2 [L]
RewriteRule ^(.*)/browsertid2([09]+).html$ $1/browser.php?tid2=$2 [L]
RewriteRule ^(.*)/browserlm([09]+).html$ $1/browser.php?lm=$2 [L]
RewriteRule ^(.*)/browsertid([09]+)lm([09]+).html$ $1/browser.php?tid=$2&lm=$3 [L]
RewriteRule ^(.*)/browsertid2([09]+)lm([09]+).html$ $1/browser.php?tid2=$2&lm=$3 [L]
RewriteRule ^(.*)index.html$ $1/index.php [L]
RewriteRule ^(.*)list([09]+).html$ $1/plus/list.php?tid=$2 [L]
RewriteRule ^(.*)list([09]+)([09]+).html$ $1/plus/list.php?typeid=$2&PageNo=$3 [L]
RewriteRule ^(.*)view([09]+).html$ $1/plus/view.php?aid=$2 [L]
RewriteRule ^(.*)view([09]+)([09]+).html$ $1/plus/view.php?aid=$2&pageno=$3 [L]
“`
2、修改httpd.conf
文件:
打开Apache安装目录下的conf
文件夹,找到并编辑httpd.conf
文件。
进行以下修改:
“`apache
# 开启Rewrite模块
LoadModule rewrite_module modules/mod_rewrite.so
# 如果存在此行,去掉注释符号#
# AddModule mod_rewrite.c
# 搜索“AllowOverride None”并替换为“AllowOverride All”
# 找到<Directory />标签,确保其中包含以下行:
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
“`
3、启用Rewrite规则:
在织梦CMS后台,依次进入【系统】>【系统基本参数设置】>【模块设置】,将“是否使用Rewrite”选项设置为“是”,然后保存设置。
4、重启Apache服务器:
完成以上步骤后,重启Apache服务器以使配置生效。
IIS环境下的配置
1、下载并安装IIS Rewrite模块:
访问Helicon Tech官网,下载ISAPI_Rewrite组件的安装包(例如ISAPI_Rewrite3_0064_Lite.msi)。
按照提示完成安装过程。
2、配置IIS信息服务管理器:
打开IIS信息服务管理器,定位到您的站点。
右键点击站点名称,选择“属性”,进入【ISAPI筛选器】选项卡。
点击“添加”按钮,填写筛选器名称为“Rewrite”,可执行文件路径为“C:Program FilesHeliconISAPI_Rewrite3ISAPI_Rewrite.dll”。
3、重启IIS服务器:
确保ISAPI_Rewrite模块已成功加载,状态图标应为向上的绿色箭头。
4、配置Rewrite规则:
打开ISAPI_Rewrite管理工具(通常位于开始菜单中的ISAPI_Rewrite Manage)。
在config栏中,确保地址指向IISRewrite安装目录下的httpd.conf文件。
点击“Edit”按钮,添加以下Rewrite规则(根据需要调整正则表达式):
“`apache
# 每小时自动刷新一次缓存
# 3600 = 1 hour
RepeatLimit 32
# 保护httpd.ini和httpd.parse.errors文件不被通过HTTP访问
RewriteRule ^(.*)/questionid([09]+).html$ $1/question.php?id=$2 [I,L]
RewriteRule ^(.*)/browsertid([09]+).html$ $1/browser.php?tid=$2 [I,L]
RewriteRule ^(.*)/browsertid2([09]+).html$ $1/browser.php?tid2=$2 [I,L]
RewriteRule ^(.*)/browserlm([09]+).html$ $1/browser.php?lm=$2 [I,L]
RewriteRule ^(.*)/browsertid([09]+)lm([09]+).html$ $1/browser.php?tid=$2&lm=$3 [I,L]
RewriteRule ^(.*)/browsertid2([09]+)lm([09]+).html$ $1/browser.php?tid2=$2&lm=$3 [I,L]
“`
5、启用Rewrite规则:
在织梦CMS后台,依次进入【系统】>【系统基本参数设置】>【模块设置】,将“是否使用Rewrite”选项设置为“是”,然后保存设置。
相关问答FAQs
1、问:如何检查伪静态是否生效?
答:你可以通过查看网页源代码或使用浏览器开发者工具来检查生成的URL是否是伪静态格式,如果URL显示为类似/questionid123.html
这样的形式,说明伪静态设置已生效。
2、问:修改伪静态规则后需要重启服务器吗?
答:是的,无论是Apache还是IIS服务器,在修改伪静态规则后都需要重启服务器以使新的配置生效,对于Apache,可以通过命令行或控制面板重启服务;对于IIS,可以在IIS信息服务管理器中右键点击服务器名称,然后选择“重启”。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1109425.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复