在构建应用程序时隐藏.php扩展的正确方法

在构建应用程序时隐藏.php扩展的正确方法,php,apache,.htaccess,mod-rewrite,hide,Php,Apache,.htaccess,Mod Rewrite,Hide,对于上一个网站项目(带有AJAX+PHP联系人表单的基本网站),我使用了下面的.htaccess文件来隐藏扩展名。它在Hostgator服务器上工作得非常好 Options +FollowSymLinks -MultiViews # Turn mod_rewrite on RewriteEngine On RewriteBase / ## don't touch /forum URIs RewriteRule ^forums/ - [L,NC] ## hide .php extension

对于上一个网站项目(带有AJAX+PHP联系人表单的基本网站),我使用了下面的
.htaccess
文件来隐藏扩展名。它在Hostgator服务器上工作得非常好

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

## don't touch /forum URIs
RewriteRule ^forums/ - [L,NC]

## hide .php extension snippet

# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L]

# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [L]
现在我将构建一个新的应用程序(功能性和动态性)。我将
.htaccess
文件复制到我的localhost/appfolder/(WAMPserver)。还启用了重写模块。但是,由于某些原因,它在本地主机上不起作用

检查我在本地主机上尝试使用上述
.htaccess
运行同一网站时获得的错误消息(在Live Server上运行,但在本地主机上不运行)


我应该添加一些东西,还是我做错了实现这一目标的正确方法是什么。你们是怎么做的?

要使它在子目录
appfolder
上工作,您需要替换:

RewriteBase /


否则,显示的代码将尝试在站点的根目录中查找任何
.php
文件。

好,现在可以了。。但目前我将href链接作为example.php提供。重写方法非常有效,ie只显示了一个示例。。。但当我将光标悬停在菜单链接上时,它显示example.php。建立链接的正确方式是什么。以及应该对.htaccess进行哪些编辑no.htaccess规则可以在HTML源代码中进行更改。如果您希望鼠标悬停反映正确的链接,那么您应该修改HTML以使用
href=“/appfolder/example”
您可以解释如何重写.htaccess以实现这一点(即指向相应的php页面)吗?您的问题中已经显示了这些规则。唯一需要更改的是
RewriteBase/appfolder/
隐藏扩展的正确方法,我创建了所有不带扩展的URL。并通过htaccess将页面重定向到所需位置。www.mysite/login etcca您能解释一下如何重写.htaccess来实现这一点吗
RewriteBase /
RewriteBase /appfolder/