2017-07-05 44 views
1

我们有一些proplem与搜索引擎优化,需要从如何使用ID重写URL短网址与ID

example.com/media/player/related.php?mode=related&video_id=12345 

example.com/video/12345 

所有ID参数有数值改写ID为 页。 RewriteEngine On

我们该如何做到这一点?

+0

可能重复[参考:mod \ _rewrite,URL重写和“漂亮链接”解释](https://stackoverflow.com/questions/20563772/reference-mod-rewrite-url-rewriting-and-pretty-links解释) – Croises

回答

1

为了重定向从/media/player/related.php?mode=related&video_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_id URL PARAM被捕获的值,并假定仅是数字。这也只是测试查询字符串开始的所述查询字符串,所以任何额外的URL参数都会被忽略。

如果此打算是永久性重定向,但只有在检查确定其工作正常后,才能将302(临时)状态更改为301。 (301S是由浏览器缓存的硬盘等都可以使测试问题。)

想必,你有现有的指令或某种前端控制器已经重写/video/12345回到“真正”的网址吗?假设情况如此,对REDIRECT_STATUS环境变量的检查是为了防止重定向循环。

+1

好工作!有用!非常感谢你!!! –