.htaccess 如何将ID为的URL重写为ID为的短URL
我们有一些问题与搜索引擎优化,需要重写网页id 从 到 所有id参数都有数值<代码>重新启动引擎 如何实现这一点?为了从.htaccess 如何将ID为的URL重写为ID为的短URL,.htaccess,redirect,mod-rewrite,.htaccess,Redirect,Mod Rewrite,我们有一些问题与搜索引擎优化,需要重写网页id 从 到 所有id参数都有数值重新启动引擎 如何实现这一点?为了从/media/player/related.php?mode=related&video\u id=12345(包含查询字符串)重定向到/video/12345,您可以在.htaccess文件顶部执行以下操作 RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteCond %{QUERY_STRING} ^mode=related&video
/media/player/related.php?mode=related&video\u id=12345
(包含查询字符串)重定向到/video/12345
,您可以在.htaccess
文件顶部执行以下操作
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{QUERY_STRING} ^mode=related&video_id=(\d+)
RewriteRule ^media/player/related.php$ /video/%1 [R=302,L]
这与示例中提到的源URL相匹配,但捕获的video\u id
URL参数的值除外,并假定其仅为数字。这还只是测试查询字符串是否以声明的查询字符串开头,因此忽略任何其他URL参数
如果要将302
(临时)状态更改为301
,但必须在检查其工作正常后才能执行。(浏览器会硬缓存301s,因此可能导致测试出现问题。)
大概,您有现有的指令或某种前端控制器,它们已经将/video/12345
重写回“真实”URL?对REDIRECT\u STATUS
环境变量的检查是为了防止重定向循环,假设是这种情况。的可能重复
example.com/video/12345
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{QUERY_STRING} ^mode=related&video_id=(\d+)
RewriteRule ^media/player/related.php$ /video/%1 [R=302,L]