对于最后一个网站项目(带有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)。同时启用rewrite_module
。但是,由于某种原因,它在localhost上无法正常工作。
检查我尝试在上面.htaccess
的本地主机上运行相同网站时获得的错误消息( 在Live Server上运行但在本地主机上运行 )
**Not Found**
The requested URL /services.php was not found on this server.
Apache/2.4.9 (Win32) PHP/5.5.12 Server at localhost Port 80
我应该添加某些内容还是我做错了。 实现这一目标的正确方法是什么。你们是怎么做的?
答案 0 :(得分:1)
要使其在子目录appfolder
上运行,您需要替换:
RewriteBase /
通过
RewriteBase /appfolder/
否则显示的代码将尝试在站点的根目录中找到任何.php
文件。