.htaccess重定向index.php,但如果没有.php则为404

时间:2017-03-14 20:45:12

标签: apache .htaccess mod-rewrite

所以问题是,如果我写了#localhost / mvc /'或者' localhost / mvc / index.php'它工作正常,但如果我键入' localhost / mvc / index'它返回404未找到。在此服务器上找不到请求的URL / mvc / index。

  

htaccess的:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]

在我的根mvc中只有几个子目录,.htaccess和index.php

1 个答案:

答案 0 :(得分:1)

要删除.php扩展名,请使用以下

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

对于.html扩展名,重写规则将为

RewriteRule ^([^\.]+)$ $1.html [NC,L]