虚拟主机怎么设置伪静态?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
虚拟主机提供商一般提供伪静态规则,不过我们也可以自行设置。这里虚拟主机区分Linux虚拟主机和Windows虚拟主机,两个系统下,伪静态的写法会有差异。另外网站所采用的系统也会给伪静态写法造成不同,比如CMS系统、wordpress系统等。下面我们来详细讲解下怎么设置虚拟主机伪静态。
一、帝国CMS伪静态设置技巧
帝国CMS建议直接生成静态页,但有时候也确实希望伪静态,这里以 帝国cms7.0为例。PHP虚拟主机下设置伪静态:
1、确认空间支持伪静态,有些空间商的空间是需要手动开启伪静态功能的。
2、后台–系统–系统设置–伪静态参数设置,设置好伪静态规则。
3、新建 .htaccess 文件,放在网站根目录下。
.htaccess文件中写入如下规则:(注意规则文件中的规则要与后台设置的一致)
# 将 RewriteEngine 模式打开 RewriteEngine On #信息内容页:showinfo-[!--classid--]-[!--id--]-[!--page--].html RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^showinfo-(.+?)-(.+?)-(.+?)/.html$ /e/action/ShowInfo.PHP?classid=$1&id=$2&page=$3 #信息列表:listinfo-[!--classid--]-[!--page--].html RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^listinfo-(.+?)-(.+?)/.html$ /e/action/ListInfo/index.PHP?classid=$1&page=$2 #标题分类列表页:infotype-[!--ttid--]-[!--page--].html RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^infotype-(.+?)-(.+?)/.html$ /e/action/InfoType/index.PHP?ttid=$1&page=$2 #TAGS信息列表页:tags-[!--tagname--]-[!--page--].html RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^tags-(.+?)-(.+?)/.html$ /e/tags/index.PHP?tagname=$1&page=$2
二、wordpress伪静态设置规则
修改wordpress固定链接伪静态化后,网页却打不开,出现这种情况这是因为缺少伪静态规则。
wordpress固定链接伪静态化设置规则,是根据你主机环境来决定的,不需要插件,网上运行的wordpress无非IIS/Apache/Nginx这三种环境。
wordpress固定链接伪静态化设置技巧多种多样,需要对号入座。如果使用的是虚拟主机,大多数的IDC服务商,都支持wordpress伪静态,直接在后台修改固定链接设置即可。
1、Linux服务器环境
请确保你的根目录开启了777权限,已开启的话,在修改自定义固定链接后的瞬间,会在主机根目录自动生成一个.htaccess的文件,打开查看是否已生成规则,生成的话,就OK了,就不需要往下看了。
如果没有生成.htaccess,或者.htaccess里没有内容,那就需要手动创建一个txt文件,使用上传软件修改名为 .htaccess,粘贴Apache或Nginx规则代码,保存并上传到网站根目录就行了。
Apache规则
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.PHP$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.PHP [L] </IfModule>
Nginx规则
location / { if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.PHP){ rewrite (.*) $1/index.PHP; } if (!-f $request_filename){ rewrite (.*) /index.PHP; } }
2、Windows主机IIS环境下伪静态规则
你使用的windows主机必须安装了装Rewrite 组件才能支持伪静态,咨询下你的云服务提供商所使用的主机是否支持伪静态,支持的话请继续往下看。
如果主机支持伪静态,在修改wordpress固定链接后无法伪静态,在根目录自动生成一个httpd.ini,没有生成的话,就创建一个txt文本,修改名字为httpd.ini,复制粘贴下边代码,保存上传到根目录。
[ISAPI_Rewrite] # Defend your computer from some worm attacks #RewriteRule .*(?:global.asa|default\.ida|root\.exe|\.\.).* . [F,I,O] # 3600 = 1 hour CacheClockRate 3600 RepeatLimit 32 # Protect httpd.ini and httpd.parse.errors files # from accessing through HTTP # Rules to ensure that normal content gets through RewriteRule /tag/(.*) /index\.PHP\?tag=$1 RewriteRule /software-files/(.*) /software-files/$1 [L] RewriteRule /images/(.*) /images/$1 [L] RewriteRule /sitemap.xml /sitemap.xml [L] RewriteRule /favicon.ico /favicon.ico [L] # For file-based wordpress content (i.e. theme), admin, etc. RewriteRule /wp-(.*) /wp-$1 [L] # For normal wordpress content, via index.PHP RewriteRule ^/$ /index.PHP [L] RewriteRule /(.*) /index.PHP/$1 [L]
PS:
如果你不知道所使用的主机是什么系统,或使用的Linux或Windows系统的vps主机,不会配置伪静态规则,可以咨询你的云服务商,他们会帮助你实现wordpress伪静态,虽然设置了伪静态,只是展示的伪静态后缀,其实还是动态页面,如果想完全静态页面,可以安装WP Super Cache或者Hyper Cache插件,为全站生成静态页面缓存。
看完上述内容,你们掌握虚拟主机怎么设置伪静态的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程之家行业资讯频道,感谢各位的阅读!
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程之家行业资讯频道,感谢您对编程之家的支持。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。