15053971836 注册 / 登录

htaccess伪静态

时间: 阅读:421
htaccess伪静态

最佳回答

临沂网站建设

临沂网站建设

2023-01-15 20:15:04

一、检查服务器是否支持伪静态处理:
必须要空间支持 Rewrite 以及对站点目录中有 .htaccess
的文件解析,才有效.找到apache安装目录下的httpd.cof文件,去掉LoadModule rewrite_module
modules/mod_rewrite.so前面的#(大概在154行,我的默认是开启)
二、在httpd.cof中查找以下部分:
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
改为:
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
如果没有,手动添加。(PS:LZ试过,在最近的新版本的Apache上即使没有这个,.htaccess照样生效。但是不同服务器及版本的原因,建议加上)
三、重启apache服务器,添加.htaccess文件
建立.htaccess文件的方式:
1、保存文件的时候将文档保存成名为“***.txt”,再将其上传到服务器上,之后直接使用FTP软件来重命名为“.htaccess”。(适合windows)
2、保存文件的时候选择文件—>另存为,保存类型选所有文件,然后文件名输入.htaccess 。(适合windows)
3、直接在你的Unix或Linux虚拟主机上建立。
4、先用记事本编写好,随便保存为一个什么文件名,然后打开“命令提示符”(CMD),然后再用重命名命令(rename),例如:rename c:htaccess.txt .htaccess
请注意: .htaccess必须,保存为ANSI 格式,以ASCII模式上传,最好将其权限设置为644。
一般我们将.htaccess文件放置在网站的根目录,控制所在目录及所有子目录,当然也可以放在网站的任何一个子目录下,但如果放置在子目录中,子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。
在博客收录集(http://www.ido321.com/1112.html)为例,本地.htaccess文件如下:
#rewriteengine为重写引擎开关on为开启off为关闭
RewriteEngine On
RewriteRule ^index.html$ index.php
RewriteRule ^webmore.html$ webmore.php
以index.html代替index.php webmore.html代替webmore.php。
.htaccess支持正则表达式,例如:
原始 news/detail.php?id=2 伪静态 news/detail_2.html
RewriteRule ^news/detail_([0-9]{1,}).html$ news/detail.php?id=$1

最新回答共有2条回答

  • 無畏
    回复
    2023-01-15 22:22:06

    # apache伪静态规则
    将index.php?a=admin&c=login 伪装成admin/login.htm
    RewriteRule ^([a-zA-Z_]+)/([a-zA-Z_]+).html$ index.php?a=$1&c=$2
    将index.php?c=message 伪装成message.html
    RewriteRule ^([a-zA-Z_]+).html$ index.php?c=$1
    将index.php?c=message&p=2 伪装成message.html?p=2
    RewriteRule ^([a-zA-Z_]+).html?p=([0-9]+)$ index.php?c=$1&p=$2
    其余的就不写了,差不多都是这个意思,如果还不会最好看看关于正则的地方