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