這篇文章主要介紹了ThinkPHP6.0 重寫URL去掉Index.php的解決方法,解決問題最好多看看官方給的文檔,但有時(shí)候也不能全看官網(wǎng)文檔,可以結(jié)合官網(wǎng)下面的討論區(qū),借鑒各個(gè)大佬們的回答去解決問題
踩坑!
官網(wǎng)給的解決方案:解決重寫URL,省去index.php問題
可以通過URL重寫隱藏應(yīng)用的入口文件index.php,下面是相關(guān)服務(wù)器的配置參考:
[ Apache ]
httpd.conf配置文件中加載了mod_rewrite.so模塊
AllowOverride None 將None改為 All
把下面的內(nèi)容保存為.htaccess文件放到應(yīng)用入口文件的同級(jí)目錄下
<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>官網(wǎng)文檔中給的 .htaccess 文件內(nèi)容如下
<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>正確的寫法應(yīng)該如下,官網(wǎng)給的最后一行配置錯(cuò)誤
<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] #這才是對(duì)的
</IfModule>結(jié)尾
解決問題最好多看看官方給的文檔,但有時(shí)候也不能全看官網(wǎng)文檔,可以結(jié)合官網(wǎng)下面的討論區(qū),借鑒各個(gè)大佬們的回答去解決問題






