2017-09-12 59 views
1

我有一個像http://example.com/index.php/fruit/1a2b3c獲取URI PARAMS沒有的index.php

我想要得到我已經寫了代碼的URI的一個網址。

現在我想刪除從可見網址的index.php文件,甚至當URL是http://example.com/fruit/1a2b3c它應該工作,它應該仍然指向到index.php

我的Apache2上使用PHP 7

+0

的[從由htaccess的URL中刪除的index.php](https://stackoverflow.com/questions/20673235/remove-index-php-from-url-by-htaccess)的 – Ali

+0

可能的複製可能的複製[htaccess從url刪除index.php](https://stackoverflow.com/questions/4365129/htaccess-remove-index-php-from-url) –

+0

[參考:mod \ _rewrite,URL重寫和「漂亮鏈接「解釋](https://stackoverflow.com/questions/20563772/reference-mod-rewrite-url-rewriting-and-pretty-links-explained) –

回答

1

將以下代碼添加到.htaccess文件中。

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?$1 [L,QSA] 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)/index\.php [NC] 
RewriteRule^%1 [R=301,L] 
+0

嘿非常感謝您的答案,它確實解決了我的問題,你能否也請逐行解釋它是如何工作的?我發現很難理解它是什麼以及它是如何做到的? – zegulas

0

.htaccess文件改變,

RewriteEngine on 
RewriteCond $1 !^(index\.php) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?/$1 [QSA,L] 

希望這會工作。