问:
刚刚更换了系统 之前伪静态文件是web.config 现在是.htaccess 但是我将后台伪静态规则写到.htaccess 里面 网站伪静态(版块和帖子内页)内容打不开 请教是怎么回事?,升级更换主机系统后伪静态内容无法打开
问:discuz后台伪静态规则是如下:
Apache Web Server(独立主机用户)<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/topic-(. )\\.html$ $1/portal.php?mod=topic&topic=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/([0-9] )-([0-9] )\\.html$ $1/portal.php?mod=view&aid=$2&page=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/x(\\w )([0-9] )$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/t([0-9] )([0-9] )([0-9] )\\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page\\=$4&page=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/q([0-9] )([0-9] )$ $1/forum.php?mod=group&fid=$2&page=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/(username|uid)(. )\\.html$ $1/home.php?mod=space&$2=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/b([0-9] )([0-9] )\\.html$ $1/home.php?mod=space&uid=$2&do=blog&id=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/(fid|tid)-([0-9] )\\.html$ $1/index.php?action=$2&value=$3&%1
</IfModule>Apache Web Server(虚拟主机用户)# 将 RewriteEngine 模式打开
RewriteEngine On
# 修改以下语句中的 /discuz 为您的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 /
RewriteBase /discuz
# Rewrite 系统规则请勿修改
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^topic-(. )\\.html$ portal.php?mod=topic&topic=$1&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^([0-9] )-([0-9] )\\.html$ portal.php?mod=view&aid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^x(\\w )([0-9] )$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^t([0-9] )([0-9] )([0-9] )\\.html$ forum.php?mod=viewthread&tid=$1&extra=page\\=$3&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^q([0-9] )([0-9] )$ forum.php?mod=group&fid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(username|uid)(. )\\.html$ home.php?mod=space&$1=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^b([0-9] )([0-9] )\\.html$ home.php?mod=space&uid=$1&do=blog&id=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^archiver/(fid|tid)-([0-9] )\\.html$ archiver/index.php?action=$1&value=$2&%1IIS Web Server(独立主机用户)[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
RewriteRule ^(.*)/topic-(. )\\.html(\\?(.*))*$ $1/portal\\.php\\?mod=topic&topic=$2&$4
RewriteRule ^(.*)/([0-9] )-([0-9] )\\.html(\\?(.*))*$ $1/portal\\.php\\?mod=view&aid=$2&page=$3&$5
RewriteRule ^(.*)/x(\\w )([0-9] )(\\?(.*))*$ $1/forum\\.php\\?mod=forumdisplay&fid=$2&page=$3&$5
RewriteRule ^(.*)/t([0-9] )([0-9] )([0-9] )\\.html(\\?(.*))*$ $1/forum\\.php\\?mod=viewthread&tid=$2&extra=page\\=$4&page=$3&$6
RewriteRule ^(.*)/q([0-9] )([0-9] )(\\?(.*))*$ $1/forum\\.php\\?mod=group&fid=$2&page=$3&$5
RewriteRule ^(.*)/(username|uid)(. )\\.html(\\?(.*))*$ $1/home\\.php\\?mod=space&$2=$3&$5
RewriteRule ^(.*)/b([0-9] )([0-9] )\\.html(\\?(.*))*$ $1/home\\.php\\?mod=space&uid=$2&do=blog&id=$3&$5
RewriteRule ^(.*)/(fid|tid)-([0-9] )\\.html(\\?(.*))*$ $1/index\\.php\\?action=$2&value=$3&$5IIS7 Web Server(独立主机用户)<rewrite>
<rules>
<rule name="portal_topic">
<match url="^(.*/)*topic-(. ).html\\?*(.*)$" />
<action type="Rewrite" url="{R:1}/portal.php\\?mod=topic&topic={R:2}&{R:3}" />
</rule>
<rule name="portal_article">
<match url="^(.*/)*([0-9] )-([0-9] ).html\\?*(.*)$" />
<action type="Rewrite" url="{R:1}/portal.php\\?mod=view&aid={R:2}&page={R:3}&{R:4}" />
</rule>
<rule name="forum_forumdisplay">
<match url="^(.*/)*x(\\w )([0-9] )\\?*(.*)$" />
<action type="Rewrite" url="{R:1}/forum.php\\?mod=forumdisplay&fid={R:2}&page={R:3}&{R:4}" />
</rule>
<rule name="forum_viewthread">
<match url="^(.*/)*t([0-9] )([0-9] )([0-9] ).html\\?*(.*)$" />
<action type="Rewrite" url="{R:1}/forum.php\\?mod=viewthread&tid={R:2}&extra=page={R:4}&page={R:3}&{R:5}" />
</rule>
<rule name="group_group">
<match url="^(.*/)*q([0-9] )([0-9] )\\?*(.*)$" />
<action type="Rewrite" url="{R:1}/forum.php\\?mod=group&fid={R:2}&page={R:3}&{R:4}" />
</rule>
<rule name="home_space">
<match url="^(.*/)*(username|uid)(. ).html\\?*(.*)$" />
<action type="Rewrite" url="{R:1}/home.php\\?mod=space&{R:2}={R:3}&{R:4}" />
</rule>
<rule name="home_blog">
<match url="^(.*/)*b([0-9] )([0-9] ).html\\?*(.*)$" />
<action type="Rewrite" url="{R:1}/home.php\\?mod=space&uid={R:2}&do=blog&id={R:3}&{R:4}" />
</rule>
<rule name="forum_archiver">
<match url="^(.*/)*(fid|tid)-([0-9] ).html\\?*(.*)$" />
<action type="Rewrite" url="{R:1}/index.php\\?action={R:2}&value={R:3}&{R:4}" />
</rule>
</rules>
</rewrite>Zeus Web Servermatch URL into $ with ^(.*)/topic-(. )\\.html\\?*(.*)$
if matched then
set URL = $1/portal.php?mod=topic&topic=$2&$3
endif
match URL into $ with ^(.*)/([0-9] )-([0-9] )\\.html\\?*(.*)$
if matched then
set URL = $1/portal.php?mod=view&aid=$2&page=$3&$4
endif
match URL into $ with ^(.*)/x(\\w )([0-9] )\\?*(.*)$
if matched then
set URL = $1/forum.php?mod=forumdisplay&fid=$2&page=$3&$4
endif
match URL into $ with ^(.*)/t([0-9] )([0-9] )([0-9] )\\.html\\?*(.*)$
if matched then
set URL = $1/forum.php?mod=viewthread&tid=$2&extra=page\\=$4&page=$3&$5
endif
match URL into $ with ^(.*)/q([0-9] )([0-9] )\\?*(.*)$
if matched then
set URL = $1/forum.php?mod=group&fid=$2&page=$3&$4
endif
match URL into $ with ^(.*)/(username|uid)(. )\\.html\\?*(.*)$
if matched then
set URL = $1/home.php?mod=space&$2=$3&$4
endif
match URL into $ with ^(.*)/b([0-9] )([0-9] )\\.html\\?*(.*)$
if matched then
set URL = $1/home.php?mod=space&uid=$2&do=blog&id=$3&$4
endif
match URL into $ with ^(.*)/(fid|tid)-([0-9] )\\.html\\?*(.*)$
if matched then
set URL = $1/index.php?action=$2&value=$3&$4
endifNginx Web Serverrewrite ^([^\\.]*)/topic-(. )\\.html$ $1/portal.php?mod=topic&topic=$2 last;
rewrite ^([^\\.]*)/([0-9] )-([0-9] )\\.html$ $1/portal.php?mod=view&aid=$2&page=$3 last;
rewrite ^([^\\.]*)/x(\\w )([0-9] )$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
rewrite ^([^\\.]*)/t([0-9] )([0-9] )([0-9] )\\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page=$4&page=$3 last;
rewrite ^([^\\.]*)/q([0-9] )([0-9] )$ $1/forum.php?mod=group&fid=$2&page=$3 last;
rewrite ^([^\\.]*)/(username|uid)(. )\\.html$ $1/home.php?mod=space&$2=$3 last;
rewrite ^([^\\.]*)/b([0-9] )([0-9] )\\.html$ $1/home.php?mod=space&uid=$2&do=blog&id=$3 last;
rewrite ^([^\\.]*)/(fid|tid)-([0-9] )\\.html$ $1/index.php?action=$2&value=$3 last;
if (!-e $request_filename) {
return 404;
}
问:
答:您好,您上面发的规则不正确,添加后无法使用调整了规则请在测试, 具体规则请您在.htaccess中查看,非常感谢您长期对我司的支持!