2012-07-11 4 views
0

이 같은 URL의 내 워드 프레스 블로그에 전환했습니다 :어떻게 숯을 제외한 모든 것을 일치시키는 정규식을 작성할 수 있습니까?

/blog/2012/01/01/how-to-build-a-website 

을 짧은 URL로이

/blog/?p=123 

워드 프레스처럼이

/blog/search/?s=how to build a website 

처럼 작동하는 검색 엔진을 가지고 그리고 s 매개 변수를 검색하십시오.

.htaccess Redirectmatch를 사용하여 모든 이전 URL을 s 매개 변수로 게시 제목과 함께 검색 URL로 리디렉션하려고합니다.

/blog/2012/01/01/how-to-build-a-website 

에 대한 사용자 농노가

/blog/search/?s=how to build a website 

로 리디렉션 할 필요가있는 경우

는 그래서이

Redirectmatch blog/\d+/\d+/\d+/(.+) http://www.mysite.com/blog/?s=$1 

코딩했습니다 그러나이 정규식 지난 후 전체 문자열을 그랩 안에 - 기호 안에 / 기호가 있습니다. 이런 식으로

/blog/2012/01/01/how-to-build-a-website 

에 대한 사용자의 농노가 나는 사용자가

/blog/search/?s=how to build a website 

에 redireced 할 때 어떻게 정규식을 쓸 수

/blog/search/?s=how-to-build-a-website 

로 리디렉션됩니다 이것을하기 위해?

편집 : 예들, 내가 URL을 이런 종류의 추한 것을 알고 :)하지만 난 그냥이 뒤에 내가 해결하기 위해 노력하고있어 몇 가지 기술적 인 문제가 있기 때문에, 그것을 수행하는 방법을 알게 될 것입니다 ..

+7

왜 아름다운 URL에서 추한 URL로 전환하겠습니까? 왜? –

+0

플러그인을 추천 할 수 있습니다. [smart 404] (http://atastypixel.com/blog/wordpress/plugins/smart-404/), .htacess –

+1

@AnthonyMills가 물었던 것을 사용하지 않고이 문제를 해결해야합니다. 긴 URL은 Wordpress의 강점 중 하나입니다. 당신은 좋은 SEO를 얻을. 더 짧은 URL을 선택하는 것은 사람들 **이 내 게시물 **에 대해 Google이 될 수 없는지 확인하는 좋은 방법입니다. – Dogweather

답변

0

제발 하지마. 짧은 URL로가는 것이 유혹적인 것처럼 보일 수 있습니다. 결국, 당신은 TinyURL과 같은 것을 얻습니다. /blog/?p=123/blog/2012/01/01/how-to-build-a-website보다 좋지 않습니까?

아니요. 아닙니다.

누군가가 블로그 기사에 대한 링크를 게시하면 더 긴 URL 을 의미하기 때문입니다. 기사가 얼마나 오래되었는지를 알려줍니다. 그것은 제목을 준다. 그것은 사람들이 당신의 기사를 찾도록 도와줍니다. 결국 귀하의 사이트를 색인 생성 할 때 URL은 Google에 큰 도움이됩니다.

컴퓨터 용으로 제작 된 URL입니다. /blog/?p=123과 같은 것은 컴퓨터에 가장 적합합니다. 구문 분석하기 쉽습니다. 추가 데이터베이스 조회가 필요하지 않습니다. "웹 사이트 구축 방법"이라는 두 개의 기사를 쓸 수 있으며 블로그 엔진은 두 번째 기사에 -2을 추가하지 않아도됩니다. URL에 구조를 만들지 않고 서버의 실제 파일 구조에 쉽게 매핑됩니다.

하지만 우리는 사람을 위해 URL을 만들 수 있다는 것을 깨달았습니다. /blog/2012/01/01/how-to-build-a-website은 인간이 쉽게 이해할 수있는 형식입니다. 물론 입력하는 데 조금 시간이 걸리지 만, 입력하는 모든 비트가 더 쉽고 대부분의 URL은 복사되어 아무렇게나 복사되거나 클릭 만됩니다. 그것은 컴퓨터를위한 더 많은 일입니다.하지만 그만한 가치가 있습니다. 인터넷을보다 친근하게 만듭니다.

미안하지만 도움을주지 않을 것입니다. :)

+0

네, 얘들 아, 이런 종류의 URL이 추한 것을 알고 있습니다.하지만 이걸로 어떻게 해야할지 알게 될 것입니다. 왜냐하면이 문제는 내가 해결하려고하는 몇 가지 기술적 인 문제가 있기 때문입니다. – gaggina

+0

어쨌든, 나는 당신이 말한 모든 것에 동의합니다. – gaggina

관련 문제