English 简体 繁體 Tiếng Việt
  • 注册
  • Windows系统 Windows系统 关注:1 内容:33

    phpStudy开启伪静态的方法[转载]

  • 查看作者
  • 打赏作者
    • Windows系统
    • 一、开启apache伪静态功能

      1、打开phpstudy控制面板,php扩展及设置 → Apache 模块 , 勾选“rewrite_module”

      phpStudy开启伪静态的方法[转载]

      2、打开Apache目录下的 /conf/httpd.conf 文件,查找AllowOverride None,替换为 AllowOverride All  (有多处地方,需要替换)然后保存。

      phpStudy开启伪静态的方法[转载]

      3、重启phpstudy程序 

      二、写入Rewrite的伪静态规则 

      在网站根目录里新建.htaccess文件,在里面写入以下规则: 

      <IfModule mod_rewrite.c>
         Options +FollowSymlinks
         RewriteEngine On
         RewriteCond %{REQUEST_FILENAME} !-d
         RewriteCond %{REQUEST_FILENAME} !-f
         #如果页面出现"No input file specified." 请注释第一条,启用第二条
         RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
         #RewriteRule ^(.*)$ index.php [E=PATH_INFO:$1,QSA,PT,L]  
      </IfModule>

      三、rewrite的写法和规则详解

      1、RewriteRule是重写规则,支持正则表达式的,([0-9]{1,})是指由数字组成的,$是结束标志,说明是以数字结束!

      RewriteEngine on #rewriteengine为重写引擎开关:on为开启,off为关闭
      RewriteRule ([0-9]{1,})$index.php?id=$1

      2、下面的规则可以实现伪静态页面:

      RewriteEngine on
      RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$index.php?action=$1&id=$2

       ([a-zA-Z]{1,})-([0-9]{1,}).html$是规则,index.php?action=$1&id=$2是要替换的格式,$1代表第一个括号匹配的值,$2代表第二个,如此类推!

      3、RewriteEngine on是代表开启rewrite,而RewriteBase / 是表示所有规则前都存在“/”,写了这条之后,你后面所有规则的开头,只需要写“^”就行了,但要注意的是,此规则仅在.htacess文件中被支持,如果是服务器配置文件,此规则会被忽略、不必写。

      RewriteEngine on
      RewriteBase /

      4、利用.htacess进行301重定向

      RewriteEngine on
      RewriteCond %{HTTP_HOST} ^35boke\.com$ [NC]
      RewriteRule ^(.*) http://www.35boke.com/$1 [R=301,L]

       上述规则是将35boke.com 301 到 www.35boke.com。

      请登录之后再进行评论

      登录
    • 任务
    • 管理
    • 回底部
    • 帖子间隔 侧栏位置: