我在htaccess的有這樣的代碼的GET超全局:刪除的index.php從URL
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} -l
RewriteRule ^(.+)$ index.php/?url=$1 [QSA,L]
而在PHP中,我抓住當前URL請求,並給它的控制器,所以如果有http://example.com/index.php?url=about - >這會給我關於控制器,所以它顯示關於頁面(MVC)
現在我的問題是,如何從每個頁面中刪除index.php?url。例如,我想訪問關於頁面,然後我需要它 - >http://example.com/about
你可以在htaccess中看到我用任何類型的($ 1)替換index.php /?url但它沒有'噸似乎工作,因爲當我要求這個網址:(示例)http://example.com/about我沒有找到對象!錯誤404.當我有http://example.com時,我得到了controller_home頁面。然而,當我鍵入http://example.com/home它也顯示錯誤404
如果我這樣做:http://example.com/?url=about或http://example.com/index.php?url=about它的工作原理髮現,因此該URL是沒有得到通過我猜htaccess的去除給我的關於控制...
可能是我的PHP代碼中的另一個錯誤或什麼?
請幫助我,因爲我一直在查看這個大約10個小時的錯誤,我沒有找到它爲什麼會這樣做,我的朋友有幾乎相同的代碼,它對他來說完美的作品。
我是一種新的PHP,所以它可能是簡單的bug ... 在此先感謝大家,幫助!
首先通過將相同的垃圾(隨機)文本放在您的'.htaccess'之上,並在您訪問您的頁面時查看它是否生成500(內部服務器)錯誤,來驗證您的'.htaccess'是否已啓用在瀏覽器中? – anubhava
是的,我做過,現在嘗試,它的工作原理。順便說一句,我的根是這樣的:https://gyazo.com/7678d71f467f2a14cd54b565354112de –
在index.php之前放置一個斜槓:'RewriteRule ^(。+)$ /index.php/?url=$1 [QSA, L]',以確保索引文件來自根目錄。 – trincot