wordpress 설정 정적 후 탭 에서 중국어 링크 를 찾 을 수 없 는 해결 방법

4767 단어 wordpress
다음으로 이동:http://www.li.cm/news/2011/04/17/wordpress-%E8%AE%BE%E7%BD%AE%E9%9D%99%E6%80%81%E5%90%8E%E6%A0%87%E7%AD%BE%E4%B8%AD%E4%B8%AD%E6%96%87%E9%93%BE%E6%8E%A5%E6%89%BE%E4%B8%8D%E5%88%B0%E9%A1%B5%E9%9D%A2%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9.html
win IIS 호스트 로 Wordpress 의 TAG 탭 을 설정 합 니 다. 프론트 데스크 에서 클릭 하여 들 어 갔 을 때 404 오류 페이지 로 넘 어가 지 못 하고 인 코딩 문제 가 발생 했 습 니 다.
그래서 UTF - 8 과 GBK 의 인 코딩 으로 변환 해 야 합 니 다. 다음은 세 가지 해결 방법 을 추천 합 니 다. 하 나 는 wp - includes / rewrite. php 를 수정 하 는 것 입 니 다.
이것 은 인터넷 에서 가장 흔히 볼 수 있 는 방법 입 니 다. 원 리 는 워드 프레스 가 다른 내용 에 Permalink 를 사용 할 때 tag 를 사용 하지 않 고 링크 2 의 QueryString 모드 로 중국어 인 코딩 을 보 내 는 것 입 니 다.if (empty($this->permalink_structure)) { //-----this line need change------
에서if (!empty($this->permalink_structure)) {
2. windows 호스트 를 사용한다 면 이렇게 할 수 있 습 니 다.
IIS 는 PathInfo 의 UTF - 8 을 GBK 로 변환 하고 QueryString 은 변환 하지 않 기 때문에 Permalink 를 사용 하기 위해 다음 과 같은 방법 을 사용 합 니 다. wp - includes / classes. php 파일 을 엽 니 다.154 에서 159 줄 위치
if ( isset($_SERVER['PATH_INFO']) )
$pathinfo = $_SERVER['PATH_INFO'];
else
$pathinfo = '';
$pathinfo_array = explode('?', $pathinfo);
$pathinfo = str_replace("%", "%25", $pathinfo_array[0]);
$req_uri = $_SERVER['REQUEST_URI'];
... 로 바꾸다if ( isset($_SERVER['PATH_INFO']) )
$pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], "UTF-8", "GBK");
else
$pathinfo = '';
$pathinfo_array = explode('?', $pathinfo);
$pathinfo = str_replace("%", "%25", $pathinfo_array[0]);
$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], "UTF-8", "GBK");

이러한 발급 의 단점 은 윈도 호스트 에 만 적용 되 고 윈도 우즈 의 IIS 호스트 에 만 적용 되 어야 한 다 는 것 이다.
3. tag base 수정
원 리 는 워드 프레스 가 Permalink 기능 을 켜 고 계속 tag 에 대해 묻 지 않 으 면 된다 는 것 이다.그럼, Permalink 를 링크 2 형식 으로 표시 하도록 워드 프레스 를 속 일 수 있 습 니까?가능 합 니 다. WordPress 는 Permalink 의 형식 을 사용자 정의 할 수 있 기 때 문 입 니 다. WordPress 의 (설정) Settings?(고정 링크) Permalinks?(태그 접두사) Tag base 에 /? tag = 주의 "를 적 게 쓰 면 안 됩 니 다. 원문의 쓰기 방법 을 참조 하 는 것 이 잘못 되 었 습 니 다.그리고 매번 입력 을 주의해 야 합 니 다. "" WP 는 다시 "로 바 뀌 기 때문에 매번 제출 할 때마다" "두 번 누 르 면" \ "입 니 다. 그 러 니 많이 누 르 지 마 세 요. 한 번 만 맞 으 면 됩 니 다."이 방법의 결 과 는 링크 를 이렇게 만 드 는 것 www. li. cm /? tag = / 중국어 / 더 나 온 슬 래 쉬 가 서버 에 아무런 영향 을 주지 않 는 지, 아니면 Query String 으로 간주 되 는 지, 효과 가 동일 합 니 다.한 계 는 링크 가 더욱 보기 싫 어 지 는 것 입 니 다. 더욱 치 명 적 인 것 은 플러그 인 이 만 든 Sitemap 에서 tag 링크 는 잘못된 형식 으로 변 할 수 있 습 니 다. Sitemap 에 신경 을 쓰 고 있다 면 이 방법 을 사용 하지 마 십시오. 자신의 rewrite. php 파일 을 수정 할 수 없 는 경 우 를 제외 하고.
그러나 WP - SuperCache 나 유사 한 캐 시 플러그 인 을 사용 할 때 rewrite 규칙 을 추가 합 니 다. 모든 요청 은 캐 시 에 없 거나 캐 시 규칙 에 부합 되 지 않 으 면 WordPress 에 의 해 처 리 됩 니 다.문 제 는 중국어 URL 해석 이 지원 되 지 않 아 QueryString 이라도 안 된다 는 점 이다.그래서 우 리 는 그것 을 돌아 야 한다.이것 은 WP - SuperCache 가 htaccess 파일 에 추가 한 rewrite 규칙 입 니 다.RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_METHOD} !=POST
RewriteCond %{QUERY_STRING} !.*s=.*
RewriteCond %{QUERY_STRING} !.*p=.*
RewriteCond %{QUERY_STRING} !.*attachment_id=.*
RewriteCond %{QUERY_STRING} !.*wp-subscription-manager=.*
RewriteCond %{HTTP_COOKIE} !^.*(comment_author_|wordpress|wp-postpass_).*$
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz -f
RewriteRule ^(.*) /wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz [L]
RewriteCond %{REQUEST_METHOD} !=POST
RewriteCond %{QUERY_STRING} !.*s=.*
RewriteCond %{QUERY_STRING} !.*p=.*
RewriteCond %{QUERY_STRING} !.*wp-subscription-manager=.*
RewriteCond %{QUERY_STRING} !.*attachment_id=.*
RewriteCond %{HTTP_COOKIE} !^.*(comment_author_|wordpress|wp-postpass_).*$
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html -f
RewriteRule ^(.*) /wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html [L]

우리 가 해 야 할 일 은 중국어 tag 링크 를 판단 하지 못 하 게 하 는 것 입 니 다. RewriteCond% {REQUEST METHOD}! =POST 뒤에 각각 다음 문장 을 넣 습 니 다. RewriteCond %{QUERY_STRING} !.*tag=.*Query String 에 tag 글자 가 들 어 있다 면 해석 하지 마 세 요 (다음 규칙 에 맡 기 면 일반적으로 WordPress 의 index. php 입 니 다).
PS: Windows + IIS 호스트 에서 프로젝트 하 나 를 통 해 중국어 tag 문 제 를 완벽 하 게 해결 할 수 있 습 니 다. Linux + Apache 호스트 에 서 는 중국어 Permalink 를 사용 할 수 없습니다. 아파 치 를 수정 하지 않 으 면 프로젝트 1 과 프로젝트 3 으로 돌아 갈 수 있 습 니 다.방안 하 나 는 비교적 추천 하 는 방법 이지 만 WP - SuperCache 와 함께 사용 할 때 htaccess 파일 에 tag 링크 를 처리 하지 않 는 규칙 을 추가 해 야 합 니 다.

좋은 웹페이지 즐겨찾기