codeIgniter가있는 HTML/PHP의 게시물을 사용하여 URL을 전달하고 싶습니다. 따라서 URL은 Google 응답 코드에서 크롤링되고 URL에 거의 모든 문자가 포함될 수 있으므로 숨겨진 필드에 BASE64 인코딩 된 URL을 출력합니다. 로컬 서버 (내 회사의 SEO 도구)에서만 내 웹 사이트를 사용할 것이므로 POST 데이터에서 모든 문자를 사용 가능하게하려고합니다. 이미 $config['permitted_uri_chars'] = '';
으로 시도했지만 작동하지 않았습니다. Base64 문자열에 =
이 포함되어 있기 때문에 '허용되지 않는 키 문자'오류가 발생합니다. 내가 CodeIgniter의 2를 사용하고URL에 임의의 문자 허용
편집 :
Fivell의 대답은 옳았다, 감사합니다. 그래서 관심있는 사람들에게 위의 Fivell의 링크에서 코드를 가져 와서 CodeIgniter의 작은 클래스를 작성했습니다. 이렇게하려면 폴더 응용 프로그램/라이브러리에 Base64
라는 이름의 파일을 추가하고이 코드를 삽입 : 다음
<?php
class Base64 {
function url_encode($url) {
$data = base64_encode($url);
$data = str_replace(array('+','/','='),array('-','_',''),$data);
return $data;
}
function url_decode($url) {
$data = str_replace(array('-','_'),array('+','/'),$url);
$mod4 = strlen($data) % 4;
if ($mod4) {
$data .= substr('====', $mod4);
}
return base64_decode($data);
}
}
?>
을, 당신은 어떤 컨트롤러에서 사용할 수있는 라이브러리를로드하여 $this->load->library('base64);
를 통해 및 EN- 또는를 통해 URL을 해독 $this->base64->url_encode($url)
또는