Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
# If folder does not exist
RewriteCond %{REQUEST_FILENAME} !-d
# and file exist
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f
# uncomment the below rule if you want the "/" to be required
# otherwise leave as is
# RewriteRule ^([^/]+)/$ $1.php [L]
# internally show the content of filename.php
RewriteRule ^([^/]+)/?$ $1.php [L]
上述规则将:
- 如果文件夹存在则不会重定向
- 如果文件不存在将不会重定向
- 将重定向之前的内容,
/
如果一个作为文件名存在
所以它适用于所有这些例子:
http://domain.com/about/
http://domain.com/about
http://domain.com/contact/
http://domain.com/contact
如果你愿意,你可以?
像注释规则一样删除 ,使其只接受以 . 结尾的 URL /
。
http://domain.com/about/
http://domain.com/contact/
现在这些是上述工作的重要步骤:
- 例如,它必须进入
.htaccess
您的根文件夹/home/youraccount/public_html/.htaccess
- 重写规则之前的选项特别重要
-MultiViews
- 该文件必须存在于同一位置
.htaccess
,例如在您的情况下该about.php
文件
- PHP必须明显工作。