Apache伪静态,开启mod_rewrite模块使用 .htaccess

在一些项目中,URl 规则是怎么写的?具体URL对应个哪个PHP文件?那么就需要找项目的伪静态文件了!!!
最近访问项目时, 报错 The requested URL /member/register was not found on this server.
发现是没有开启伪静态的原因 于是乎,开始了配置伪静态。

1、查看Apache 配置文件是否开启mod_rewrite模块

文件路径 apache/conf/httpd.conf
去掉 LoadModule Rewrite_module modules/mod_Rewrite.so 前面的'#' ; 如没有请加上

2、允许在任何目录中使用“.htaccess”文件,将“AllowOverride”改成“All”(默认为“None”):

配置 httpd.conf 相关内容, 将所有的 AllowOverride None 都改为 All

<Directory />
    Options Indexes FollowSymLinks ExecCGI
    AllowOverride All   #默认 None
    Order allow,deny
    Allow from all
    Require all granted
</Directory>

****重启Apache**** 别忘记!!!

3、在项目更目录配置 .htaccess 伪静态文件

<IfModule mod_rewrite.c>
    RewriteEngine on
    #RewriteRule ^home$  /home/list.php [L]
    RewriteRule index-([1-9]+[0-9]*).html$ index.php?p=$1
    RewriteRule ^index\.html$    admin.php [L]
    RewriteRule ^read\/([0-9]+)\.html$  read.php?id=$1  [QSA,L]
</IfModule>

注:

有时访问项目URL,还会报一下错误


原因是 .htaccess 文件书写有错误, 排错时把下面的规则都注释起来,一条一条尝试

最后大功告成!嘿嘿

喜欢的可以点点关注和喜欢~

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容