获取不带index.php的URI参数

时间:2017-09-12 08:42:17

标签: php apache .htaccess mod-rewrite apache2

我有一个像http://example.com/index.php/fruit/1a2b3c

这样的网址

我想获得我编写代码的URI。

现在我想从可见网址中删除index.php,即使网址为http://example.com/fruit/1a2b3c也应该有效,它应该仍然指向index.php

我使用的是PHP 7的apache2

2 个答案:

答案 0 :(得分: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]

答案 1 :(得分:0)

将您的.htaccess文件更改为

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