【发布时间】:2013-09-20 20:17:35
【问题描述】:
我是 URL 重写的新手和初学者... 我需要删除这些页面的 .php 扩展名以获得菜单链接。
<ul class="nav">
<li><a href="index.php">Home</a></li>
<li><a href="about.php">About</a></li>
<li><a href="services.php">Services</a></li>
<li><a href="rates.php">Rates</a></li>
<li><a href="contact.php#main">Contact Us</a></li>
</ul>
我正在为 .htaccess 文件使用以下代码
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
# Remove .php-extension from url
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^\.]+)/$ $1.php
# End of Apache Rewrite Rules
</IfModule>
例如:
localhost/websitename/index.php
到
本地主机/网站名称/索引
localhost/websitename/about.php
到
本地主机/网站名称/关于
localhost/websitename/services.php
到
本地主机/网站名称/服务
localhost/websitename/rates.php
到
本地主机/网站名称/费率
localhost/websitename/contact.php#main
到
本地主机/网站名称/联系人主要
但是下面的重写规则显示的结果是这样的
localhost/websitename/services.php
到
localhost/services ...... 错误:找不到页面
.
.
.
.
.
等等等等……
我做错了什么? 如何实现这个简单的 URL 重写?
【问题讨论】:
标签: php apache .htaccess mod-rewrite url-rewriting