1. 程式人生 > >php 如何實現 訪問不帶字尾名

php 如何實現 訪問不帶字尾名

考慮的做法有: 
HTTP重寫技術,讓符合特定正則表示式的URL,交由某個特定的指令碼處理(WordPress等很多程式的實踐,推薦) 
HTTP重定向,和重寫差不多 
直接提供token檔案軟連線到token.php,然後配置HTTP伺服器使token檔案就算無副檔名也由php直譯器處理(不推薦) 
甚至做個token/目錄,藉助首頁檔案也算個辦法(index)

.htaccess是一個完整的檔名(只有字尾),它是用於Apache伺服器下的配置檔案,當.htaccess檔案放在某一資料夾下,它僅對該資料夾下的檔案和資料夾有效。通過.htaccess檔案,可以配置伺服器實現很多功能,比如錯誤定位,密碼保護,IP拒絕,URL重寫等等。 
預設的Apache不支援.htaccess,需要修改Apache的配置檔案httpd.conf,才能使得.htaccess有效。 
配置方法: 
配置方面: 
1. 找到apache的安裝目錄下的conf下的httpd.conf檔案,開啟檔案修改

LoadModule rewrite_module modules/mod_rewrite.so這行程式碼,他前面有個#號,把#號刪掉
1
找到
<Directory "E:/php/workspace">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
1
2
3
4
5
這個節點,把None改為All.節點可能有多個,修改和PHP路徑相關的那個。 
3. 重啟apache服務 
4.在專案目錄下建立.htaccess檔案,並在裡面寫配置。 
簡單例子:

RewriteEngine on                       //on為開啟,off為關閉
RewriteRule ^test$ test.php
ErrorDocument 404 /404.txt
1
2
3
比較全面的配置說明: 
https://www.zybuluo.com/phper/note/73726

21 個非常有用的 .htaccess 提示和技巧: 
https://www.oschina.net/question/12_58586