2009-07-02 6 views
0

웹 사이트를 Wordpress로 이동하고 동시에 이전 플랫폼에서 사용했던 나선형 URL 구조를 변경하고 있습니다. 일반적인 URL은 다음과 같이 보입니다 :특정 리디렉션 규칙에 대한 슬래시 추가

/blog/index.php/weblog/comments/post-name

을뿐만 아니라 다음과 같이 수 :

/blog/index.php/weblog/comments/post-name/

(후행 슬래시 아닌 일관성 사용)

이 약의 한 예입니다 동일한 내용에 12 개의 다른 경로.

한다 RewriteRule^블로그/index.php에/블로그/의견 /(.*)$ http://host.com/ $ (1)

문제가있는 경우이다 : 결과적으로 나는이 같은 모양 별 다시 쓰기 규칙의 무리를 만들었습니다 원래 URL에는 후행 슬래시가 포함되지 않습니다. 이중 301 상황이 발생합니다. 이는 분명히 SEO에 상당히 나쁜 것입니다. 리디렉션은 다음과 같이 진행한다 : 워드 프레스 설정된 년대 퍼머 구조의 일부로서 그 슬래시를 추가

/blog/index.php/weblog/comments/post-name [301]
http://host.com/post-name [301]
http://host.com/post-name/ [200]

. 제 질문은 이것입니다 : 후행 슬래시를 확인하고 Wordpress가 시작되기 전에 누락 된 경우 추가 할 수 있습니까?

필자는 ([^. /] +) $ 매핑을/$ 1 /로 시도했지만 게시물 이름 앞의 모든 것을 제거하기를 원하면 댓글 디렉토리를 캡처하는 것으로 보입니다.

마지막 분은 전에 생각했는데 : mod_rewrite와 regex에서 멍청한 탓에 게시물 이름과 조건문 앞에 모든 것을 제거하는 전역 재 작성 규칙이 가장 효과적 일 것이라고 생각됩니다. 움직일 수 있는?

답변

1

아마도 이것은 트릭을하고있는 것 같다

RewriteRule ^blog/index.php/weblog/comments/([^/]+)/?$ http://host.com/$1/ 
+0

작동합니다! 고마워, 나는 거기에있는 모든 글로벌 솔루션에 맞서 머리를 숙이고 아무것도 작동하지 못하고있다. – rustbucket

+0

이런 모든 것들과 마찬가지로 나는 걸쇠에 부딪 혔습니다. 원래 URL의 일부는 index.php (post-name/index.php) 끝에 있습니다. 그렇게 어려운 일이 아니라면, 누군가가 Steef의 규칙을 수정하여 그러한 가능성을 포함시키는 것을 도울 수 있다면 나는 그것을 좋아할 것입니다. 미안, 나는 정규식을 빨아. – rustbucket

관련 문제