thinkphp 隐藏index.php iis apache nginx

针对不同的web服务器,iis7 apache nginx 可以使用不同的方法来进行配置

1.iis7 在站点根目录下添加web.config

添加内容



<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<system.webServer>

<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>

</system.webServer>

</configuration>

重启iis生效
 
2.apache 在根目录下添加 .htaccess 添加内容:


<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

</IfModule>

重启apache 生效
 
3.对于nginx 添加内容到站点配置文件,然后重载配置文件生效
  1. location / { 
  2.    if (!-e $request_filename) {
  3.    rewrite  ^(.*)$  /index.php?s=$1  last;
  4.    break;
  5.     }
  6.  }