.htaccess - 301 到无扩展页面,仅当它存在时
问题描述
如果用户访问:
www.example.com/mypage.asp
我希望它重定向到页面的无扩展版本:
www.example.com/mypage
但我只想在请求的页面存在时这样做,所以:
www.example.com/mypage.asp
-> 301 到 ->www.example.com/mypage
但是www.example.com/notapage.asp
-> 404
如何最好地做到这一点.htaccess
?
解决方案
您可以在站点根目录 .htaccess 中尝试此规则:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{THE_REQUEST} \s/+(.+?)\.asp[\s?] [NC]
RewriteRule ^ /%1 [R=301,NE,L]
RewriteCond %{REQUEST_FILENAME} -f
将确保仅针对现有文件完成此操作。
推荐阅读
- python - Django:通过模型集的模型集聚合
- python-3.x - 根据熊猫中数据框的日期列对字典列表进行排序
- python - 带有文件 I/O 的未知内存泄漏
- javascript - 使用 Fastify 和 Fastify-HTTP-Proxy 绑定接口
- flutter - TextEditingController 返回旧值
- ffmpeg - FFMPEG 用于下载时失真的视频缩略图
- javascript - 如何从功能组件导航到选项卡导航器中的屏幕,其中该选项卡导航器嵌套在父堆栈导航器中
- python-3.x - Pynput 似乎无法让我的代码看到它
- python - 模型查询 Django
- javascript - NodeJS - 如何在继续执行流程之前等待多个异步调用完成?