duanou1904 2014-11-26 19:00
浏览 93
已采纳

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

I just started doing some website work for a law firm whose website is kind of messy. They have files with multiple file extensions (html, php, txt) and some weird directory practices (e.g. one link will go to example.com/head-injuries/ which serves head-injuries/index.html, and the next one just links to example.com/car-crashes.html)

I was wondering how I could edit the .htaccess file to

  1. Remove all file extensions from the URLs and
  2. Re-direct each URL with a file extension to one without a file extension. (so that internal linking will not be messed up and there's no danger of search engines indexing duplicate content)

I read some other threads where people had the same questions but weren't answered - and it looks like I'll need to distinguish some way of serving the correct content if there are 2 files with the same name but different extensions. This shouldn't be a problem with the website but if there needs to be a priority, I would prioritize php over html over txt.

Any help would be appreciated, thanks!

  • 写回答

1条回答 默认 最新

  • dounuo1881 2014-11-26 19:11
    关注

    Have you tried just letting mod_negotiation take care of this for you?

    Something like:

    Options +Multiviews
    
    RewriteCond %{THE_REQUEST} \ /+([^\?\ ]+)\.[a-z]+(\?|\ |$) [NC]
    RewriteRule ^ /%1 [L,R]
    

    Note that you'll run into issues if you have files like:

    /page.html
    

    and

    /page.php
    

    Because both will redirect to /page and mod_negotiation won't know which one you're actually trying to request.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 angular开发过程中,想要读取模型文件,即图1的335行,会报404错误(如图2)。但我的springboot里配置了静态资源文件,如图3。且在该地址下我有模型文件如图4,请问该问题该如何解决呢?
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
  • ¥100 H5网页如何调用微信扫一扫功能?
  • ¥15 讲解电路图,付费求解
  • ¥15 有偿请教计算电磁学的问题涉及到空间中时域UTD和FDTD算法结合的
  • ¥15 vite打包后,页面出现h.createElement is not a function,但本地运行正常
  • ¥15 Java,消息推送配置