问题描述:phpcms系统换了空间之后,手机端内页无法打开
问题原因:phpcms的手机版用的是伪静态,换到其它服务商之后,服务器环境不一样,导致伪静态规则不能被识别
专业网站制作、系统开发订制、微信公众号开发、接外包单 ---- 青岛米联科技
扫描二维码,加微信好友
解决方案:这里提供 .htaccess 和 web.config 两个伪静态规则供大家使用
Linux系统,将以下代码保存为 .htaccess
RewriteEngine On
RewriteCond %{HTTP_HOST} ^域名.com$ [NC]
RewriteRule ^(.*)$ http://www.域名.com/$1 [L,R=301]
RewriteRule ^(.*)content-([0-9]+)-([0-9]+)-([0-9]+)\.html(.*)$ $1/index\.php\?m=content&c=index&a=show&catid=$2&id=$3&page=$4
RewriteRule ^(.*)show-([0-9]+)-([0-9]+)-([0-9]+).html(.*)$ $1/index\.php\?m=content&c=index&a=show&catid=$2&id=$3&page=$4
RewriteRule ^(.*)list-([0-9]+)-([0-9]+).html(.*)$ $1/index\.php\?m=content&c=index&a=lists&catid=$2&page=$3
Windows系统,将以下代码保存为 web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Index" stopProcessing="true">
<match url="^content-([0-9]+)-([0-9]+)-([0-9]+).html" />
<action type="Rewrite" url="index.php?m=content&c=index&a=show&catid={R:1}&id={R:2}&page={R:3}" />
</rule>
<rule name="Show" stopProcessing="true">
<match url="^show-([0-9]+)-([0-9]+)-([0-9]+).html" />
<action type="Rewrite" url="index.php?m=content&c=index&a=show&catid={R:1}&id={R:2}&page={R:3}" />
</rule>
<rule name="list" stopProcessing="true">
<match url="^list-([0-9]+)-([0-9]+).html" />
<action type="Rewrite" url="index.php?m=content&c=index&a=lists&catid={R:1}&page={R:2}" />
</rule>
<rule name="wapshow" stopProcessing="true">
<match url="^wapshow-([0-9]+)-([0-9]+).html" />
<action type="Rewrite" url="index.php?m=wap&siteid=1&a=show&catid={R:1}&typeid=&id={R:2}" />
</rule>
<rule name="waplist" stopProcessing="true">
<match url="^waplist-([a-zA-Z]+)-([0-9]+).html" />
<action type="Rewrite" url="index.php?m=wap&c=index&a={R:1}&catid={R:2}" />
</rule>
</rules>
</rewrite>
<httpErrors errorMode="DetailedLocalOnly">
<clear />
</httpErrors>
</system.webServer>
</configuration>