1)您确定已启用mod_rewrite模块吗?校验phpinfo()
2)您的上述规则假定URL以“文件夹”开头。这个对吗?您是否真的想在URL中包含文件夹?这将与以下网址匹配:
/folder/thing -> /folder/thing.php
如果你真的想要
/thing -> /folder/thing.php
您需要从匹配表达式中删除文件夹。
我通常使用它来将请求路由到没有php的页面(但是您的应该可以工作,这使我认为可能未启用mod_rewrite):
RewriteRule ^([^/\.]+)/?$ $1.php [L,QSA]
3)假设您在.htaccess文件中声明规则,那么您的安装是否允许在.htaccess文件中设置选项(AllowOverride)替代?一些共享主机没有。
当服务器找到.htaccess文件(由AccessFileName指定)时,它需要知道该文件中声明的指令可以覆盖早期的访问信息。