是的,我知道这个问题已被多次询问并得到解答,但我会根据我的经验给出一个更全面的答案.
以下是.htaccess代码段,可以帮助您:
# Apache Rewrite Rules
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
# Add trailing slash to url
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/|#(.*))$
RewriteRule ^(.*)$$1/ [R=301,L]
# Remove .php-extension from url
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^\.]+)/$$1.php
# End of Apache Rewrite Rules
我想强调一些重要的事情,供大家参考:
>此代码段不会从url中删除条目脚本(例如许多PHP框架使用的index.php)>它只删除.php扩展名,如果你想删除其他扩展名(例如.html),复制并粘贴第3个块并用其他扩展名替换php.>不要忘记也从锚点(链接)href中删除扩展名.