您好,登錄后才能下訂單哦!
本篇內容介紹了“如何解決ThinkPHP的URL重寫問題”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
我想要的結果無非是去掉URL路徑中的index.php
首先是配置.htaccess
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </IfModule>
因為我部署在apache上面,需要httpd.conf配置文件中找到LoadModule rewrite_module modules/mod_rewrite.so去掉前面的#,找到AllowOverride None改為AllowOverride All。
現在訪問localhost/product有效,但是__APP__或者__URL__或者U獲取出來的路徑包含有index.php,也就是為localhost/index.php,原來還有一步,需要在conf/config.php里面修改或者添加'URL_MODEL'=>2,
而因為我嘗試部署的是基于ThinkPHP的conist企業版2.0,在config.php里竟然有這么一個配置'URL_MODEL' =>C('TOKEN.false_static'),,而TOKEN.false_static的值在初始化的時候被設置為了1,所以。。。模式一直還是1,PATHINFO模式。
在新浪SAE部署,不支持.htaccess,只支持其自有的配置文件config.yaml,所以要在config.yaml添加下面這段重寫格式代碼:
handle: - rewrite: if(!is_dir() && !is_file() && path~"^(.*)$") goto "index.php/$1"
“如何解決ThinkPHP的URL重寫問題”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。