我们有一些seo的问题,需要重写id的页面 从
example.com/media/player/related.php?mode=related&video_id=12345
到
example.com/video/12345
所有id参数都有数值。 RewriteEngine On
我们如何实现这一目标?
答案 0 :(得分: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参数的值并假设它只是数字。这也只是测试查询字符串以所声明的查询字符串开头,因此忽略任何其他URL参数。
如果要将302
(临时)状态设置为永久重定向,请将301
(临时)状态更改为/video/12345
,但只有在您检查到它正常工作后才能更改。 (301s被浏览器严格缓存,因此可能会使测试出现问题。)
据推测,您已经有重写 REDIRECT_STATUS
的现有指令或某种前端控制器回到“真正的”URL?对<!-- Cadeau categorie side menu -->
<div class="container-fluid">
<div class="row">
<div class="col-sm-4 col-md-4">
<div id="categorymenu">
<center> <h3>Categorieën</h3> </center>
<ul class="list-group">
<?php foreach (get_categories_h() as $category) : ?>
<li class="list-group-item">
<a href="#"> <?php echo $category['name']; ?></a>
</a>
</li>
<?php endforeach; ?>
</ul>
</div>
</div>
<!-- Laat cadeau zien op alle cadeaus pagina -->
<div class="col-md-8">
<div class="row">
<?php foreach($products as $product) : ?>
<div class="col-md-3">
<div id="product">
<a href="<?php echo base_url() ?>/Product/details/<?php echo $product['product_id']; ?>">
<img src="<?php echo base_url(); ?>upload/<?php echo $product['product_foto_thumb']; ?>">
</a>
<div class="product_naam"><?php echo $product['product_naam']; ?></div>
<div class="ophaal_plaats">
<?php echo $product['ophaal_plaats']; ?>
</div>
<div class="aangeboden_door">
<p>Aangeboden door: Peter</p>
</div>
</div>
</div>
</div>
</div>
<?php endforeach; ?>
</div>
</div>
<div class="clearfix"></div>
<?php include_once ('templates/footer.php'); ?>
环境变量的检查是为了防止重定向循环,假设是这种情况。