让Apache支持URL重写

Posted PengYunjing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了让Apache支持URL重写相关的知识,希望对你有一定的参考价值。

第一步:

添加.htaccess文件 Rewrite 规则

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

 

如果是Nginx,再新建一个Nginx.conf文件

location / { // …..省略部分代码
   if (!-e $request_filename) {
   rewrite  ^(.*)$  /index.php?s=$1  last;
   break;
    }
}

 

如果用的ThinkPHP,再在配置文件设置

URL_MODEL=>2,

 

第二步:

打开apache配置文件:httpd.conf找到:

搜索“LoadModule rewrite_module modules/mod_rewrite.so”

把前面的#号去掉。

 

第三步:

搜索“AllowOverride none”找到

<Directory />
    AllowOverride none
    Require all granted
</Directory>

“AllowOverride none”改成“AllowOverride all” 

<Directory />
    AllowOverride all
    Require all granted
</Directory>

 

第四步:

一定要记得重启服务器!

以上是关于让Apache支持URL重写的主要内容,如果未能解决你的问题,请参考以下文章

Apache中 RewriteRule 规则参数介绍

Apache 重写:如何避免在省略 url 结尾斜杠时显示 url 参数?

Apache新的URL路由重写规则

apache中的vhost重写规则-摆脱子域而不重定向

Nginx URL重写(rewrite)配置及信息详解

Apache URL重写规则