перенаправить htaccess или php? - PullRequest
       0

перенаправить htaccess или php?

3 голосов
/ 11 сентября 2010

Как ты это делаешь ...

Когда пользователь вводит

http://domain.com/mycompanyname

браузер перенаправляет на

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

Примечание: значение mycompanyname является динамическим

Ответы [ 5 ]

1 голос
/ 11 сентября 2010
0 голосов
/ 14 сентября 2010

Я верю, что 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 ...

0 голосов
/ 11 сентября 2010

Вы можете использовать это в верхней части вашей страницы 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

0 голосов
/ 11 сентября 2010

поместите следующий код в http://domain.com/mycompanyname

<?php
    header('Location: http://manager.domain.com/page.php?company=mycompanyname');
?>
0 голосов
/ 11 сентября 2010

Попробуйте это решение (скопировано из моего ответа на аналогичный вопрос ) Кроме использования mod_rewrite, как уже сообщалось, вы можете сделать немного магии с помощью простого трюка.

Положите в.htaccess подобная директива

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

замените ^ servlet $ регулярным выражением по вашему выбору (это будет имя вашего диспетчера)

Файл сервлета должен быть похож наthis

<?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
  }
?>

URL-адрес может иметь форму: 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/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...