簡體   English   中英

重定向htaccess還是php?

[英]redirect htaccess or php?

你怎么做到這一點...

當用戶進入時

http://domain.com/mycompanyname

瀏覽器重定向到

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

注意:mycompanyname值是動態的

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

嘗試這個解決方案(從我對類似問題的回答中復制)除了使用mod_rewrite之外,正如已經報道的那樣,你可以用一個簡單的技巧做一些魔術。

將.htaccess這樣的指令放入.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您還可以使用.htacces和調度程序獲取http:// yoursite / reports / sales / 2009 plaiyng表格。

此方法的優點是不需要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/

將以下代碼放在您的http://domain.com/mycompanyname

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

你可以在php頁面的頂部使用它一旦用戶訪問你的頁面,用戶就會被重定向到一個新的url

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

我相信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 ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM