apache - 如何将长网址重定向到短网址,但将长网址提供给客户端?
问题描述
我网站的 URL 格式为...
www.website.com/index?t=abc123
...哪里abc123
是 6 个字符的十六进制代码。如何使用 htaccess 将所有这样的地址重定向到...
www.website.com/abc123
...但仍以原始 URL 提供内容?
因此,例如,键入...
www.website.com/index/php?t=5f33ee
...将重定向到...
www.website.com/5f33ee
...但会提供来自...的内容
www.website.com/index.php?t=5f33ee
...没有用户被重定向。
到目前为止,我的 .htaccess 看起来像这样。据我了解,第一点将所有非 https 流量重定向到 https。第二个 RewriteRule 似乎可以从短网址提供内容。
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.website\.com$ [NC]
RewriteRule ^(.*)$ https://www.website.com/$1 [R=301]
RewriteRule ^([0-9a-f]{6})$ index.php?t=$1 [L]
解决方案
解决了这些规则。
RewriteCond %{QUERY_STRING} !x
RewriteCond %{QUERY_STRING} t=([0-9a-f]{6})
RewriteRule ^/?index\.php$ /%1? [R=301,L]
RewriteRule ^/?([0-9a-f]{6})$ /index.php?x&t=$1 [QSA,L]
推荐阅读
- d3.js - d3 地理投影从正交过渡到 X
- javascript - 在 ReactJS 中捕捉滚动和渲染时间导致浏览器在错误的位置启动
- r - 解决自定义函数中的范围问题以从“htest”对象中提取数据
- c# - AspNetCore 健康检查 UI 报告错误
- javascript - React 和 Redux 的 componentWillMount 和 componentDidMount。
vs订阅防止内存泄漏 - python-3.x - 如何使用 python pandas 编写 csv 文件
- c - 为什么使用非阻塞waitpid而不是阻塞等待?
- vue-router - Vue路由器从router-link访问元数据
- android - 在没有 Intent.createChooser 的情况下启动 Sharesheet
- python - 插入mongodb时如何设置字段类型