it-swarm-ko.tech

Wordpress는 HTACCESS에서 설정 한 GET 변수 (page_id)를 덮어 씁니다. 

나는 Wordpress를 매우 제한적으로 밀어 넣는 Wordpress 사이트를 가지고 있습니다. 많은 페이지/카테고리와 많은 .htaccess 규칙을 사용하여 사이트의 다양한 섹션을 구성합니다 (대형 잡지를위한 것입니다).

하나의 특별한 문제는 정말로 저를 뒤적 거리고 있습니다. .htaccess에 다음 규칙이 있습니다.

RewriteRule ^(cat|tag)/([^\/]+)(/?)$ index.php?page_id=3&s1=$2 [L,QSA]
RewriteRule ^xyz/([^\/]+)(/?)$ index.php?page_id=6&s1=$1 [L,QSA]

이제 cat/tag 페이지에 제공된 인수에 후행 슬래시가 없으면 항상 작동합니다. 인수에 후행 슬래시 가 있으면 해당 태그가 'xyz'페이지, Wordpress에서 작동하는 WordPress 이외의 테이블에있는 항목과 일치합니다 태그가있는 경우에도 해당 페이지를로드합니다.

규칙이 항상 작동하는지 테스트했습니다. Wordpress는 항상 올바른 $ _GET [ 'page'] 3과 태그 slug를 $ _GET [ 's1']로 가져오고, 위의 내용이 참이면 다른 페이지를 모두 표시하기로 결정합니다.

모든 것은 .htaccess 내에서 이루어지며, wordpress의 permalink는 완전히 꺼져 있습니다. 어떻게 사용하라고 말한 page_id에 대해 WP form을 결정하는 것을 멈출 수 있습니까?.

1
beseku

WordPress의 URL 라우팅은 실제로 작동하기가 어렵습니다. 나는 더 합리적인 것으로 대체 된 날을 고대하고있다. (그리고 나는 그것을 대체 할 코드를 작성하기를 희망하지만, 나는 빗나간 다. ...)

그러나 당신의 첫 번째 문제는 모든 것을 .htaccess에서하려고하는 것입니다. 나는 아마 내가 아는 다른 누구보다도 URL 디자인 및 URL 재 작성에 대한 더 많은 경험을 얻었으며 나는 정말로 .htaccess로 WordPress와 싸우려고하지 않을 것이다. 당신은 현재 당신을 미치게 만드는 종류의 결과만을 얻을 가능성이 큽니다. 대신 WordPress 내에서 URL 라우팅을 관리하고 WordPress에서 무언가를 무효화해야 할 때 후크를 사용하려고합니다.

그러나, 당신이 성취하고자하는 것을 완전히 이해하고 적절한 해결책을 처방하기 위해서는 귀하가 사이트에 가지고있는 URL과 원하는 URL의 전체지도를보고 싶을 것입니다.

마지막으로 관련 Q & A를 아래에 링크했습니다. 그들은 당신의 질문에 직접 답하고 있지는 않지만 당신에게 통찰력을 줄지도 모릅니다. 그리고 마지막 하나는 높은 트래픽을 위해 WordPress를 스케일링하는 것입니다.

2
MikeSchinkel