浅谈PHP各环境下的伪静态配置

一、Apache的伪静态配置

1、网站根目录下需要有 .htaccess 文件,没有则自己创建一个,内容

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

如果你的apache是fastcgi模式下,则需要修改

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
替换成
RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]

2、在apache的配置文件httpd.conf中查找 : LoadModule rewrite_module modules/mod_rewrite.so  将前面的#去掉,假如没有这段内容,则需要手动加上

3、在apache的配置文件httpd.conf中查找所有的 AllowOverride None,将 None 都替换成 All . 保存文件 并重启apache服务。

二、Nginx的伪静态配置

找到nginx的配置文件 nginx.conf, 在里面的 server{ } 里增加以下内容

location / {
   if (!-e $request_filename) {
       rewrite ^(.*)$ /index.php?s=$1 last;
       break;
   }
}

重启nginx即可生效

三、IIS的伪静态配置

如果你的服务器环境支持ISAPI_Rewrite的话,可以配置httpd.ini文件,添加下面的内容:

RewriteRule (.*)$ /index\.php\?s=$1 [I]

在IIS的高版本下面可以配置web.Config,在中间添加rewrite节点:

<rewrite>
<rules>
<rule name="OrgPage" stopProcessing="true">
<match url="^(.*)$" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^(.*)$" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/{R:1}" />
</rule>
</rules>
</rewrite>

以上所述是小编给大家介绍的PHP各环境下的伪静态配置详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

时间: 2019-03-11

PHP针对伪静态的注入总结【附asp与Python相关代码】

本文实例讲述了PHP针对伪静态的注入.分享给大家供大家参考,具体如下: 一:中转注入法 1.通过http://www.xxx.com/news.php?id=1做了伪静态之后就成这样了 http://www.xxx.com/news.php/id/1.html 2.测试步骤: 中转注入的php代码:inject.php <?php set_time_limit(0); $id=$_GET["id"]; $id=str_replace(" ","%20

PHP伪静态Rewrite设置之APACHE篇

一.Apache配置:   1.支持httpd.conf 配置 2.支持目录 .htaccess配置(一种"分布式配置"文件针对虚拟空间,空间商不让修改Apache配置文件)   启用Rewrite(httpd.conf) (有时候Options Indexes FollowSymLinks会出问题,只需要配置Options all即可) LoadModule rewrite_module modules/mod_rewrite.so 启用.htaccess AllowOverride

使用纯php代码实现页面伪静态的方法

本文实例讲述了使用纯php代码实现页面伪静态的方法.分享给大家供大家参考.具体如下: if(1==URLROLE){ $nav=$_SERVER["REQUEST_URI"]; $script_name=$_SERVER["SCRIPT_NAME"]; $nav1=ereg_replace(".html","",substr(ereg_replace("$script_name","",

基于php伪静态的实现详细介绍

1.根据$_SERVER['PATH_INFO']来操作实现.   举个列子比如你的网站的地址是 http://127.0.0.1/show_new.php/look-id-1.shtml你echo $_SERVER['PATH_INFO'] 出来的结果就会是 /look-id-1.shtml 看到这个我想大家可能已经明白了.完整的demoindex.php 复制代码 代码如下: index.php $conn=mysql_connect("localhost","root&

PHPCMS手机站伪静态设置详细教程

1.打开/phpcms/modules/wap/functions/global.func.php 找到里面的这两个函数,如下图所示的注释掉的那行代码,在下面加入一行代码. function list_url($typeid) { #return WAP_SITEURL."&a=lists&typeid=$typeid"; return "/list-$typeid".'.html'; } function show_url($catid, $id,

VMware如何创建Linux虚拟机并设置虚拟机网络的详细教程

如何在Vmware中创建Linux虚拟机并设置Vmware和虚拟机网络 创建Linux虚拟机 创建虚拟机 配置类型选择自定义 虚拟机硬件兼容性,选择当前Vmware版本即可 选择要使用的Linux ISO镜像文件,镜像从"阿里云镜像站"下载. 虚拟机命名与虚拟机存放位置 虚拟机CPU核数配置 虚拟机内存设置 虚拟机网络连接选择 虚拟机 I/O控制器类型选择 虚拟机磁盘类型选择 虚拟机使用哪个磁盘 指定磁盘大小,选择是否拆分磁盘为多个文件 虚拟机创建完毕 虚拟机网络设置 让Linux 虚

Ajenti开源免费的服务器管理面板和Ajenti V虚拟主机面板及安装与使用详细教程

Ajenti是国外一个功能非常强大的轻型的Linux服务器管理面板,采用Python架构,修改扩展非常简单,包含了Apache.计划任务(Cron).文件系统.防火墙.MySQL.Nginx.Munin.Samba.FTP和Squid等多个实用插件,比较适合搭建小型的服务器管理环境. Ajenti V是Ajenti一个虚拟主机管理面板插件,有点类似于Webmin下的Virtualmin,Ajenti V可以用于创建和管理虚拟主机,方便建站,管理网站运维.Ajenti可以添加Widget,方便你快

centos 安装python3.6环境并配置虚拟环境的详细教程

python3.6下载地址: https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz linux 下python 环境配置 统一目录: 源码存放位置 $HOME/tools 安装目录: /application 安装python 环境: 1.  下载 # 创建下载目录 mkdir $HOME/tools # 切换到tools统一管理源码目录 cd $HOME/tools wget https://www.python.org/ftp/py

SpringBoot + Vue + Electron 开发 QQ 版聊天工具的详细教程

一.简介 这是一款基于 JS 实现的超轻量级桌面版聊天软件.主要适用于私有云项目内部聊天,企业内部管理通讯等功能,主要通讯协议websocket.也支持web网页聊天实现.文字聊天,互传文件,离线消息,群聊,断线重连等功能. 先看一下效果,下图左边是web版,右边为PC版. 二.本地搭建 2.1 技术栈 后端技术栈: springboot: 让开发人员快速开发的一款Java的微服务框架. tio: 是百万级网络框架oauth2.0: OAuth 2.0 是一个行业的标准授权协议. OAuth 2

Ubuntu16.04上安装CUDA9.0 详细教程

前言: 本篇文章是基于安装CUDA 9.0的经验写,CUDA9.0目前支持Ubuntu16.04和Ubuntu17.04两个版本,如下图所示(最下面的安装方式我们选择第一个,即runfile方式): 大家可以先将CUDA文件下载下来,但是最好不要急于安装,一定要先将NVIDIA给出官方指导手册仔细看一下,然后再找几篇好的博客看一下,大致了解一下CUDA的安装过程,对安装过程中可能出现的问题要大致有一个了解,不到万不得已不要重装系统. 安装建议: 1)去官网下载CUDA的同时,一定要找份相应官方的

Pycharm2020最新激活码|永久激活(附最新激活码和插件的详细教程)

注意事项: 1.PyCharm尽量在官网下载:https://www.jetbrains.com/pycharm/download/ 也可以用本文提供的安装包破解. 1.之前破解过需要删除原来的破解文件,比如lib目录下jetbrains-agent.jar,删除用户目录下的.PyCharm2019目录(建议卸载干净,重新安装). 本教程适用于PyCharm所有版本,其他jetbrains系列产品(Pycharm.Idea.WebStorm等也适用. 激活完成后,建议关掉自动更新设置. 激活步骤

Centos7下使用yum安装mysql数据库的详细教程(增强版)

在之前给大家分享过这篇文章:CentOS 7.0下使用yum安装mysql的方法详解,小编觉得不够详细,今天给大家通过本文给大家做个补充,感兴趣的朋友可以参考下. 1. 下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2. 安装mysql-community-release-el7-5.noarch.rpm包 $ sudo rpm -ivh mysql-community-re

centos 6.9安装mysql的详细教程

1.确认mysql是否已安装,有下面的代码可知 [root@cdh1 zjl]# yum list installed mysql* Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile * base: mirrors.zju.edu.cn * extras: mirrors.aliyun.com * updates: mirrors.aliyu

使用vue.js2.0 + ElementUI开发后台管理系统详细教程(二)

在上篇文章给大家介绍了使用vue.js2.0 + ElementUI开发后台管理系统详细教程(一) 1. 引入路由工具vue-router,切换视图 # 安装vue-router cnpm install vue-router --save-dev 2. 使用vue-router main.js import Vue from 'vue' import App from './App' import VueRouter from 'vue-router' import routeConfig f