.htaccess 两个URL同时都能访问


现在我不确定是我 centos 的apache 没有 配置好还是怎样。
主机是在万网购买的 一款翔云主机I型

现在重写规则已经写好 主要是两个URL都能访问 而动态的URL不能跳转到 伪静态的上面去不知道为什么?

http://xxxxxxx/product/10.html
http://xxxxxxx/goods.php?id=10

如这两个URL都能访问 想要达到的效果是 访问 goods.php?id=10的时候自动301到product/10.html

   
  RewriteEngine On
  
RewriteBase /

RewriteRule ^(.*)/([0-9]+)(.*)\.html$ goods\.php\?id=$2

上面是我写的Rewrite 的规则,各位帮帮忙看看怎么回事?

apache centos

二次元的神 11 years, 1 month ago

Rewrite实现跳转需要单独编写规则,否则起到的作用只是添加一个虚拟的网址

   
  RedirectMatch Permanent goods\.php\?id=(.*)  $1\.html
 

另外php程序可以直接用php实现跳转

   
  if($_SERVER['REQUEST_URI'] == '/goods.php'){
  
header('location:http://xxxxxxx/product/' . $_GET['id'] . '.html');
}

放开那个萝莉 answered 11 years, 1 month ago

Your Answer