phpStudy开启Apache重写模块(开启伪静态)

phpStudy开启Apache重写模块(开启伪静态),第1张

pbootcms开启伪静态后地址栏不再包含 index.php,开启步骤如下:

Apache环境:

1、开启Apache重写模块,具体请百度;

2、修改程序config/config.php文件 url_type=2

3、在站点目录建立.htaccess文件(默认已有),内容如下:

打开phpstudy的配置文件。 httpd.conf

在phpStudy\Apache2\conf文件夹里。用记事本就可以了。

或者,你在任务栏点击phpstudy程序图标,选 配置文件,选 httpd.conf

都可以。

然后

搜索 LoadModule rewrite_module modules/mod_rewrite.so

去掉前面的#

搜索AllowOverride None 替换为 AllowOverride All

有好几个找到和下面代码类似的那个

</IfModule>

#

# "D:\usr\local\Apache2\cgi-bin" should be changed to whatever your ScriptAliased

# CGI directory exists, if you have that configured.

#

<Directory "D:\usr\local\Apache2\cgi-bin">

AllowOverride All

Options None

Order allow,deny

Allow from all

</Directory>

改好以后,接着在最后一行添加: (这个是关键点)

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{QUERY_STRING} ^(.*)$

RewriteRule ^(.*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2&%1

RewriteCond %{QUERY_STRING} ^(.*)$

RewriteRule ^(.*)/article-([0-9]+)-([0-9]+)\.html$ $1/portal.php?mod=view&aid=$2&page=$3&%1

RewriteCond %{QUERY_STRING} ^(.*)$

RewriteRule ^(.*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3&%1

RewriteCond %{QUERY_STRING} ^(.*)$

RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page\%3D$4&page=$3&%1

RewriteCond %{QUERY_STRING} ^(.*)$

RewriteRule ^(.*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3&%1

RewriteCond %{QUERY_STRING} ^(.*)$

RewriteRule ^(.*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3&%1

RewriteCond %{QUERY_STRING} ^(.*)$

RewriteRule ^(.*)/blog-([0-9]+)-([0-9]+)\.html$ $1/home.php?mod=space&uid=$2&do=blog&id=$3&%1

RewriteCond %{QUERY_STRING} ^(.*)$

RewriteRule ^(.*)/(fid|tid)-([0-9]+)\.html$ $1/index.php?action=$2&value=$3&%1

RewriteCond %{QUERY_STRING} ^(.*)$

RewriteRule ^(.*)/([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ $1/plugin.php?id=$2:$3&%1

</IfModule>

一、开启Mod_rewrite模块

点击任务栏中的phpstyudy图标,选择“配置文件”--“httpd-conf”

搜索 LoadModule rewrite_module modules/mod_rewrite.so (Apache2是这个)

去掉前面的#

搜索AllowOverride None 替换为 AllowOverride All

有好几个找到和下面代码类似的那个

</IfModule>

#

# "D:\usr\local\Apache2\cgi-bin" should be changed to whatever your ScriptAliased

# CGI directory exists, if you have that configured.

#

<Directory "D:\usr\local\Apache2\cgi-bin">

AllowOverride All

Options None

Order allow,deny

Allow from all

</Directory>

二 、在Apache2\conf\httpd.conf 最后一行添加:

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteRule ^(.*)-htm-(.*)$ $1.php?$2 (这里是httpd.ini里面的伪静态规则)

</IfModule>

然后重新Apache后就可以正常使用了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6297883.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-20
下一篇 2023-03-20

发表评论

登录后才能评论

评论列表(0条)

保存