当我点击链接时,我有一些动态网址,它应该将我重定向到所需的动态网址(在当前网址中添加一些更改)。我使用.htaccess
将以特定字符串开头的动态网址重定向到PHP
网页,然后使用header()
从那里重定向。
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(通过使用PHP对URL进行一些更改)。因此,我创建了一个PHP
文件,将网址更改为所需网址并使用header()
重定向。此部分工作正常,但不会重定向到我使用的PHP
页面.htaccess而且我也不知道如何获取我的PHP
页面的网址,
$link = "http://date.hot.tl/aaa/bbb/ccc.html?d=1&e=2";
是动态的。
.htaccess part:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^http://date.hot.tl$
RewriteRule ^index.php [L,R=301]
答案 0 :(得分:0)
首先,确保启用了mod_rewrite。
然后,正如starkeen已经提到的那样,从.htaccess中删除协议部分:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^date.hot.tl(.*)$
RewriteRule ^index.php [L,R=301]