TP5配置隱藏入口index.php檔案
阿新 • • 發佈:2018-12-09
隱藏的index.php
PS:這裡說的入口檔案指的是公共/ index.php檔案,配置檔案就在這個目錄下
可以去掉URL地址裡面的入口檔案index.php
,但是需要額外配置WEB伺服器的重寫規則。
以Apache
為例,在需要檔案入口的同級新增.htaccess
檔案(官方預設自帶了該檔案),內容如下:
<IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </IfModule>
如果用的phpstudy
,規則如下:
<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>
如果index.php檔案存放在public中
,規則如下:
<IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ public/index.php [L,E=PATH_INFO:$1] </IfModule>
接下來就可以使用下面的URL地址訪問了
http://tp5.com/index/index/index
http://tp5.com/index/index/hello
如果使用你的apache
版本使用上面的方式無法正常隱藏index.php
,嘗試可以使用下面的方式配置.htaccess
檔案:
<IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L] </IfModule>
如果的英文Nginx
環境的話教育,在可以Nginx.conf
中新增:
location / { // …..省略部分程式碼
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
}