1

出于某种原因,一个 magento 网址在我的网站上无法正常工作。请参见此处: 违反完整性约束:1052 列“位置”在顺序子句中不明确

所以,我决定我可以为这个失败的 url 做一个重定向:我尝试使用 apache,但它不起作用,请参见此处: Apache simple redirect from one page to a second one

他们建议用php来做

有人可以向我解释如何用 php 做到这一点吗?

就像是

if url = 'myfaliingurl' then
  redirect to new url

就是这样

这是我在 apache 中尝试过的

Redirect 301 http://www.theprinterdepo.com/catalogsearch/result/index/?cat=100&q=1022&x=0&y=0 http://www.theprinterdepo.com/catalogsearch/advanced/result/?name=1022&sku=&price%5Bfrom%5D=&price%5Bto%5D=&free_shipping=&category=100

更新1:

它不起作用,我把它放在最后的 index.php 上。

if($url == 'http://www.theprinterdepo.com/catalogsearch/result/index/?cat=100&q=1022&x=0&y=0')
  {
          header('location:http://www.theprinterdepo.com/catalogsearch/result/index/?cat=100&q=1022&x=0&y=0 http://www.theprinterdepo.com/catalogsearch/advanced/result/?name=1022&sku=&price%5Bfrom%5D=&price%5Bto%5D=&free_shipping=&category=100');
          exit();
  }
else
{
Mage::run('printerdepo','website');
}
4

6 回答 6

5

如果您只想使用 PHP,您可以使用header()

header("Location: http://www.example.com/"); /* Redirect browser */

所以:

if (/*whatever you're checking*/){
    header("Location: http://www.example.com/"); /* Redirect browser */
    exit();
}
于 2012-11-20T08:53:39.163 回答
2

使用此代码,您将获得

 <?php
  if($url == 'myfaliingurl')
  {
          header('location:http://www.theprinterdepo.com/catalogsearch/result/index/?cat=100&q=1022&x=0&y=0 http://www.theprinterdepo.com/catalogsearch/advanced/result/?name=1022&sku=&price%5Bfrom%5D=&price%5Bto%5D=&free_shipping=&category=100');
  }
  else{
          header('location:otherposition');
  }
  ?>
于 2012-11-20T08:55:42.523 回答
0

在 PHP 中,您可以使用该header()函数来重定向请求:

header('Location: http://www.example.com/');

http://php.net/manual/en/function.header.php

于 2012-11-20T08:53:50.197 回答
0

你需要的东西是这样写的:记住不要在phpheader()函数之前输出任何东西。

$url = "myfailingurl";
$newurl = "http://www.mynewurl.com/blabla";

if ($url == "myfailingurl"){
     header("Location: $newurl"); die();
}

header()关于这里函数的更多细节:http: //php.net/manual/en/function.header.php

于 2012-11-20T08:58:55.987 回答
0

用 PHP 是这样的:

<?php
header('Location: http://www.example.com/');
// if you get a header error, which is really frequent, try with javascript like this:
echo '<script type="text/javascript">window.location ="http://www.example.com";</script>';
?>
于 2012-11-20T09:01:29.833 回答
0
if(url == 'myfaliingurl')
   redirect('newUrl');


function redirect($url)
{
   header("Location: $url");
}
于 2012-11-20T09:03:06.590 回答