能够删除.php扩展名,但不能从php mvc url pattern

时间:2016-07-11 07:06:55

标签: php .htaccess model-view-controller

我可以从我的网址中删除 .php ,但无法删除php mvc框架中的 index.php 。实际上我需要 / app / className / action 而不是 /index.php/app/className/action

我的 .htaccess 文件结构如下:

Options +FollowSymLinks -MultiViews
<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteBase /
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)\?*$ index.php/$1 [L,QSA]
</IfModule>

此规则返回 / index / app / className / action ,而不是 / app / className / action

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

要删除index.php,您可以使用以下规则:

Options +FollowSymLinks -MultiViews
<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteBase /
  #Redirect /index.php/foobar to /foobar
   RewriteCond %{THE_REQUEST} /index\.php/.+ [NC]
   RewriteRule ^index.php/(.+)$ /$1 [L,R]
   #internally map /foobar back to /index.php/foobar
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ index.php/$1 [L,QSA]
</IfModule>

答案 1 :(得分:0)

试试这个

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