2016-03-11 2 views
1

У меня есть некоторые динамические URL-адреса, когда я нажимаю ссылку, она должна перенаправить меня на нужный динамический url (добавив некоторые изменения в текущий URL-адрес). Я использую .htaccess для перенаправления динамического URL-адреса, который начинается с определенной строки на странице PHP, а затем перенаправляется оттуда с помощью header()..htaccess динамическое перенаправление URL-адресов

PHP часть:

$link    = "http://date.hot.tl/aaa/bbb/ccc.html?d=1&e=2"; 
$subdomainSelect = substr($link,strpos($link,"date.")+strlen("date.")); 
$curDate = date('Y-m-d'); 
$date = new DateTime($curDate); 
$date->modify('+1 day'); 
$tommorrow = $date->format('Y-m-d'); 
$date->modify('+1 day'); 
$dayAfterTommorrow = $date->format('Y-m-d'); 

$chkInTime   = substr($subdomainSelect,strpos($subdomainSelect,"checkin")+strlen("checkin")); 
if (strpos($chkInTime,"&")) { 
    $chkInTime   = substr($chkInTime,0,strpos($chkInTime,"&")); 
} 
$chkInTime   = trim(strip_tags($chkInTime),"="); 
$chkOutTime = substr($link,strpos($link,"checkout")+strlen("checkout")); 
if (strpos($chkOutTime,"&")) { 
    $chkOutTime = substr($chkOutTime,0,strpos($chkOutTime,"&")); 
} 
$chkOutTime = trim(strip_tags($chkOutTime),"="); 

if (strpos($subdomainSelect,"checkin")) { 
    $subdomainSelect = str_replace($chkInTime,$tommorrow,$subdomainSelect);  
} else { 
    $subdomainSelect = $subdomainSelect."&checkin=$tommorrow"; 
} 
if (strpos($subdomainSelect,"checkout")) { 
    $subdomainSelect = str_replace($chkOutTime,$dayAfterTommorrow,$subdomainSelect); 
} else { 
    $subdomainSelect = $subdomainSelect."&checkout=$dayAfterTommorrow"; 
} 
header('location:$subdomainSelect'); 

основная идея заключается в том, когда я нажимаю ссылку может быть динамическим, так что следует перенаправить в какой-то динамический URL (сделав некоторые изменения в URL с помощью PHP). Поэтому я создаю файл PHP, чтобы изменить URL-адрес на желаемый и перенаправить его с помощью header(). Эта часть работает нормально, за исключением того, что она не перенаправляется на страницу PHP. Я предоставляю использование .htaccess, а также не знаю, как получить URL-адрес к моему PHP страница beacause,

$link    = "http://date.hot.tl/aaa/bbb/ccc.html?d=1&e=2"; 

является динамичным.

.htaccess часть:

RewriteEngine On 
    RewriteCond %{HTTP_HOST} ^http://date.hot.tl$ 
    RewriteRule ^index.php [L,R=301] 
+0

ли значение HTTP хост действительно начать с ** HTTP: // **? – starkeen

+0

Да, но моя проблема в том, что я даже не могу перенаправить какую-то страницу на какую-то страницу с помощью htaccess –

+0

Я думаю, что starkeen прав,% {HHTP_HOST} не начинается с части протокола * http: // * –

ответ

0

Во-первых, убедитесь, что mod_rewrite включен.

Тогда, как starkeen уже упоминалось, удалить часть протокола из вашего .htaccess:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^date.hot.tl(.*)$ 
RewriteRule ^index.php [L,R=301] 
Смежные вопросы