Php 如何使用Htaccess和重定向文件扩展名URL删除多个文件扩展名

Php 如何使用Htaccess和重定向文件扩展名URL删除多个文件扩展名,php,html,.htaccess,redirect,file-extension,Php,Html,.htaccess,Redirect,File Extension,我刚开始为一家网站有点乱的律师事务所做一些网站工作。他们有多个文件扩展名(html、php、txt)的文件和一些奇怪的目录做法(例如,一个链接将指向example.com/head-rights/,它提供head-rights/index.html,下一个链接仅指向example.com/car crasks.html) 我想知道如何将.htaccess文件编辑为 从URL和URL中删除所有文件扩展名 将每个具有文件扩展名的URL重新定向到不具有文件扩展名的URL。(这样内部链接就不会混乱,也不

我刚开始为一家网站有点乱的律师事务所做一些网站工作。他们有多个文件扩展名(html、php、txt)的文件和一些奇怪的目录做法(例如,一个链接将指向example.com/head-rights/,它提供head-rights/index.html,下一个链接仅指向example.com/car crasks.html)

我想知道如何将.htaccess文件编辑为

  • 从URL和URL中删除所有文件扩展名
  • 将每个具有文件扩展名的URL重新定向到不具有文件扩展名的URL。(这样内部链接就不会混乱,也不会有搜索引擎索引重复内容的危险)
  • 我阅读了其他一些帖子,其中有人提出了相同的问题,但没有得到回答。如果有两个文件具有相同的名称但扩展名不同,我似乎需要区分提供正确内容的方式。这应该不是网站的问题,但如果需要优先考虑的话,我会优先考虑php而不是html而不是txt


    任何帮助都将不胜感激,谢谢

    你有没有试过让mod_谈判帮你解决这个问题

    比如:

    Options +Multiviews
    
    RewriteCond %{THE_REQUEST} \ /+([^\?\ ]+)\.[a-z]+(\?|\ |$) [NC]
    RewriteRule ^ /%1 [L,R]
    
    请注意,如果您有以下文件,您将遇到问题:

    /page.html
    


    因为两者都将重定向到
    /page
    ,而mod_协商将不知道您实际想要请求的是哪一个。

    谢谢您的回复!今晚交通不畅的时候我会检查这个。看起来这个效果很好-谢谢你花时间帮助我。
    /page.php