为什么在.htaccess中使用RewriteEngine时index.php不用作我的索引文件

时间:2014-12-13 00:19:27

标签: .htaccess

在我的网站上,我有以下.htaccess文件,以获得更清晰的网址:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

当用户输入hostname.com/filename时这很有用,但是当用户浏览到hostname.com/map/时它会取消自动重定向,因为RewriteEngine会自动在地图后添加.php,这会产生以下结果:

https://hostname.com/map/.php

当用户浏览地图而不是文件时,是否有一种方法可以使用index.php作为我的索引文件,同时对浏览文件的用户仍有相同的效果?所以预期结果基于3个选项:

1 个答案:

答案 0 :(得分:1)

通常,如果配置自动使用index.php,您只需添加即可 在RewriteCond %{REQUEST_FILENAME} !-f之后:

RewriteCond %{REQUEST_FILENAME} !-d