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 前面的'#' ; 如没有请加上

Apache伪静态,开启mod_rewrite模块使用 .htaccess_第1张图片

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

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


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

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

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


    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]

注:

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

Apache伪静态,开启mod_rewrite模块使用 .htaccess_第2张图片

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

最后大功告成!嘿嘿

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

你可能感兴趣的:(Apache伪静态,开启mod_rewrite模块使用 .htaccess)