MVC模式伪静态配置几种方法

Posted 学无边涯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MVC模式伪静态配置几种方法相关的知识,希望对你有一定的参考价值。

Apache伪静态(即.htaccess文件):

<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L]
</IfModule>

nginx伪静态:

location / {
#//...省略部分代码
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
}
如果你的应用安装在二级目录,Nginx的伪静态方法设置如下,其中youdomain是所在的目录名称。

location /youdomain/ {
if (!-e $request_filename){
rewrite ^/youdomain/(.*)$ / www.dg-haiyue.cn /index.php?s=$1 last;
}
}
举个栗子:

如果你用的是本机电脑上的phpstudy环境的话,打开配置文件( nginx/conf/vhost.conf ):

location / {
index index.html index.htm index.php;
#autoindex on;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
}

IIS伪静态:

如果你的服务器环境支持ISAPI_Rewrite的话,可以配置httpd.ini文件,添加下面的内容:

RewriteRule (.*)$ /index\\.php\\?s=$1 [I]
在IIS的高版本下面可以配置web.config,在中间添加rewrite节点:

<rewrite>
<rules>
<rule name="OrgPage" stopProcessing="true">
<match url="^(.*)$" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^(.*)$" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php?s={R:1}" />
</rule>
</rules>
</rewrite>

以上是关于MVC模式伪静态配置几种方法的主要内容,如果未能解决你的问题,请参考以下文章

IIS配置伪静态 集成模式 样式丢失

MVC架构网站URL访问原理及伪静态的区分

MVC 路由设置伪静态

Nginx伪静态配置和常用Rewrite伪静态规则

mvc实现伪静态

discuz在nginx上怎么配置伪静态?