-3
어떤 이유로 일부 사용자/브라우저가 잘못된 페이지로 리디렉션됩니다.PHP 헤더 리디렉션이 제대로 작동하지 않습니다.
http://www.site.com/page.php/http://www.site.com/page.php
대신 :
는 이유입니다 그들은으로 전송받을?
ps. 나는 MOD_REWRITE를 사용하고 있습니다. 이것은 변화를 가져올 것입니까?
리디렉션 기능 : $url
는 http
와 그렇다면 시작하면 검사가 볼 경우
function KT_redir($url) {
$protocol = "http://";
$server_name = $_SERVER["HTTP_HOST"];
if ($server_name != '') {
$protocol = "http://";
if (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == "on")) {
$protocol = "https://";
}
if (preg_match("#^/#", $url)) {
$url = $protocol.$server_name.$url;
} else if (!preg_match("#^[a-z]+://#", $url)) {
$script = KT_getPHP_SELF();
if (isset($_SERVER['PATH_INFO']) && $_SERVER['PATH_INFO'] != '' && $_SERVER['PATH_INFO'] != $_SERVER['PHP_SELF']) {
$script = substr($script, 0, strlen($script) - strlen($_SERVER['PATH_INFO']));
}
$url = $protocol.$server_name.(preg_replace("#/[^/]*$#", "/", $script)).$url;
}
$url = str_replace(" ","%20",$url);
if (KT_is_ajax_request()) {
header("Kt_location: ".$url);
echo "Redirecting to: " . $url;
} else {
header("Location: ".$url);
}
}
exit;
}
mod_rewrite를 당신의 else if (!preg_match)
전에
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.site\.com$ [NC]
RewriteRule ^(.*)$ http://www.site.com/$1 [R=301,L]
코드를 입력하십시오. 우리는 그것 없이는 디버그 할 수 없다. – Daedalus
다시 쓰기 부분과 관련하여 .htaccess 파일의 내용을 표시하십시오. – jtheman
이것을 제어하는 10 억 개의 함수가있는 dreamweaver 확장을 사용하는 사람 : –