# URL 重写 可以通过URL重写隐藏应用的入口文件index.php。 ## Nginx 在虚拟主机配置文件中加入 : ```nginx if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; } ``` 完整配置如下 : ```nginx server { listen 80; server_name www.my-tp5.com ; root "D:/projects/think/public"; location / { index index.html index.htm index.php; if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; } } } ``` 此时,就可省略 index.php 直接通过 PATH_INFO 访问 : ``` http://www.my-tp5.com/模块/控制器/操作 ``` ## Apache 1. `httpd.conf` 配置文件中加载了 `mod_rewrite.so` 模块 2. `AllowOverride None` 将 `None` 改为 `All` (可能是 vhosts.conf 配置的虚拟主机中) 3. 把下面的内容保存为.htaccess文件放到应用入口文件的同级目录下 ``` <IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1] </IfModule> ```