2012-02-19 2 views
0

다음 형식으로 사용자 정의 기반 permalinks가있는 블로그 (wordpress 버전 3.01)가 있습니다 : /%category%/%postname%/. 예 : blog.com/category/post-name/.변경 permalinks - htaccess 코드 필요

permalinks를 "Day and name"/%year%/%monthnum%/%day%/%postname%/으로 변경해야합니다 (제 테마는 제대로 작동해야합니다).

이전 permalinks 301을 새로운 .htaccess 파일로 리디렉션하려면 무엇을 작성해야합니까?

내 사이트는 9 개월이며 약 500 개의 기사가 있습니다.


/% 범주 %/% postname %/행/% postname %/

RedirectMatch에 301 ^/([^ /] +)/([^ /] +)/$ http://www.mydomain.com/ $ 2

내 경우는이

/% 범주를 얻는 것입니다 %/% postname % /에/% 증가한 %/% monthnum %/% 일 %/% postname %/

RedirectMatch 301 ??????????

답변

0

.htaccess 컨텍스트에서이 작업을 수행 할 수있는 다시 쓰기 기능 (RewriteMap)을 사용하기 때문에 .htaccess 파일로이 작업을 수행 할 수 없습니다.

RewriteEngine On 
RewriteBase /

RewriteRule ^(cat1|cat2|cat3|cat4)/.*?/$ redirector.php?cat=$1&post=$2 [L,QSA] 

(고양이의 목록을 연장 카테고리의 전체 목록 될) : 닫힌 목록 및 카테고리의 따라서 고정 된 목록을 가지고 있기 때문에, 일반적인 리디렉터 스크립트에이지도를 간단하다 . 그런 다음 redirector.php이 표준 리디렉터 패턴입니다. 귀하의 Wordpress D/B를 질의하여 게시물에 대한 YMD를 결정한 후 종료하기 전에

$server = $_SERVER['HTTP_HOST']; 
header("Location: HTTP://$server/$year/$month/$day/$postName/", true, 302); 

을 입력하기 만하면됩니다.

+0

안녕하세요, Terry, 맞습니다. 1) RewriteEngine을 켜고 내 .htaccess 파일에 넣으십시오. 2) redirector.php 파일을 만듭니다. $ server = $ _SERVER [ 'HTTP_HOST']; 헤더 ("위치 : HTTP : // $ server/$ year/$ month/$ day/$ postName /", true, 302); 죄송합니다, 이걸 잘 모르겠습니다. – user1219402

+0

예, 재 작성 라인이 htaccess 파일에 있습니다. yuo가 지금 가지고있는 문제는 누군가 "http : // yourdomain/wranting/Why-do-I-hate-myself /"를 입력하면이 기사가 2012 년 1 월 2 일에 발행되었고 그 다음으로 이동해야한다는 것입니다. "http : // yourdomain/2012/01/02/Why-do-I-hate-myself /'" 각 기사의 YMD 세부 정보는 어디에서 조회합니까? Wordpress D/B를 사용하거나 스크립트에 기사 게시 날짜가 배열되어 있습니다. 후자를 수행하는 방법을 보여주기 위해 업데이트하겠습니다 :-) – TerryE

+0

Ok, Thanks :-) 앞으로 찾고 – user1219402