用于从链接中删除 .php 扩展名的简单 URL 重写我在 .htaccess 文件中使用以下代码
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
## hide .php extension
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php[\s?] [NC]
RewriteRule ^ %1 [R=301,L]
# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.+?)/?$ /$1.php [L]
在托管服务器上上传网站后,上面的 mod_rewrite 代码将页面引导到我需要的以下链接......
domain.com/abc/index
domain.com/abc/about
domain.com/abc/services
domain.com/abc/rates
domain.com/abc/contact#main
但显示(404 Page Not Found ERROR)这些页面,即不显示确切的页面,如 index.php、about.php、services.php、rates.php 和 contact.php#main....等
任何人都可以让我知道我错过了什么吗?正如网页上的菜单链接一样
<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>
我也应该对这些菜单链接做些什么吗?