重定向htaccess还是php?

时间:2010-09-11 07:23:16

标签: php linux .htaccess redirect

你是怎么做到的......

当用户输入

http://domain.com/mycompanyname

浏览器重定向到

http://manager.domain.com/page.php?company=mycompanyname

注意:mycompanyname值是动态的

5 个答案:

答案 0 :(得分:1)

Redirect http://domain.com/mycompanyname http://manager.domain.com/page.php?company=mycompanyname

答案 1 :(得分:0)

尝试此解决方案(从我对similar question的回答中复制) 除了使用mod_rewrite之外,正如已经报道的那样,你可以用一个简单的技巧做一些魔术。

将.htaccess这样的指令放入

<FilesMatch "^servlet$"> 
  ForceType application/x-httpd-php
</FilesMatch> 

用您选择的正则表达式替换^ servlet $(它将是您的调度程序的名称)

文件servlet应与此类似

<?php
  $data = explode('/',$HTTP_SERVER_VARS['PATH_INFO']); // $data[0] always empty
  $fileToInclude = $data[1].'.php';
  if (file_exists($data[1]) {
     $params=array_slice($data,2); // you can do here something more sophisticated
                                   // for example sanitize parameters or assemble 
                                   // an hash
     include ($fileToInclude);     //Think to this file as a servlet
  } else {
    // issue a 404 error, maybe one of the 500 series
  }
?>

网址可以采用以下格式:http://yoursite/servlet/reports/sales/2009 你也可以找到http://yoursite/reports/sales/2009表格 与.htacces和调度员有点关系。

此方法的优点是不需要mod_rewrite,因为FilesMatch(1.3+)和ForceType(2.0+)位于apache核心

参考参考
http://httpd.apache.org/docs/2.2/mod/core.html#forcetype
http://httpd.apache.org/docs/2.2/mod/core.html#filesmatch
http://www.devarticles.com/c/a/Apache/Using-ForceType-For-Nicer-Page-URLs/1/

答案 2 :(得分:0)

将以下代码放入http://domain.com/mycompanyname

<?php
    header('Location: http://manager.domain.com/page.php?company=mycompanyname');
?>

答案 3 :(得分:0)

您可以在php页面的顶部使用它 用户访问您的网页后,系统会立即将用户重定向到新网址

Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://www.facebook.com/people/Wasim-Karani/1158880522" );

在这种情况下,用户将被重定向到 http://www.facebook.com/people/Wasim-Karani/1158880522

答案 4 :(得分:0)

我相信PHP会完成这项工作,所以我会告诉你。首先获取页面的URL,然后将其拆分以获取mycompany并将其保存在变量中。现在让PHP使用变量...

加载新页面
<?php

$URL = ($_SERVER['HTTPS'])=='on'?'https':'http'.'://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

$companyName = explode('/',$URL);

$URL = 'http://localhost/anything/'.$comapnyName[3];

header('Location: http://localhost/anything/'.$companyName[3]);

exit();

?>

这将使用PHP ...