WordPress 용 RedirectMatch로 .htaccess의 디렉토리를 제외하십시오
-
20-12-2019 - |
문제
I WordPress Permalink 구조를 % % / % 개월 % / % PostName %
로 변경합니다..htaccess 에이 모드 별명 규칙을 만들지 만 문제가 있습니다.
RedirectMatch 301 /\d{4}/\d{2}/([^/]+)(/?)(.*)$ http://domainname.com/$1
.
규칙은 WP-Content 디렉토리에서 이미지를 리디렉션하므로 domainname.com/wp-content/uploads/2013/11/name.jpg domainname.com/name.jpg
이 redirecmatch는 mod_alias이기 때문에 다시 쓰여지므로 !^/(wp-content.*)$
를 사용하려고하지만 작동하지 않습니다.
어떻게 을 해결할 수 있습니까?RedirectMach 또는 Rewriterule을 사용하는 것이 좋습니다 (서버를 변경하지 않았습니다)?
더 나은 regex 를 게시 할 수 있습니까?
고맙습니다!
해결책
WordPress 'mod_rewrite 규칙을 방해하기 때문에 mod_alias 대신 mod_rewrite를 사용하여 스틱해야합니다.mod_rewrite 및 mod_alias는 모두 URL 파일 처리 파이프 라인의 다른 지점에서 동일한 요청 URI에 영향을 미치므로 redirected 및 동시에 다시 작성할 수 있습니다.
RewriteCond %{REQUEST_URI} !\.(jpeg|gif|png)$ [NC]
RewriteRule ^\d{4}/\d{2}/([^/]+?)(/?)(.*)$ http://domainname.com/$1 [L,R=301]
. 다른 팁
^
및 $
를 시도하십시오 :
RedirectMatch 301 ^/\d{4}/\d{2}/([^/]+)(/?)(.*)$ http://domainname.com/$1
. 제휴하지 않습니다 StackOverflow