.htaccess가 날짜를 다시 쓸 때 설계된 대로 라우팅되지 않습니다.

.htaccess가 날짜를 다시 쓸 때 설계된 대로 라우팅되지 않습니다.

내가 생각하는 대로 작동하지 않는 .htaccess가 있습니다. 소유자가 블로그 항목의 기본 경로를 /blog/로 이동하기로 결정한 WP 사이트가 있으므로 이제 모든 게시물이 검색 엔진에서 404ing됩니다. 게시물에 대한 리디렉션 작업을 수행했지만 "/2015/03"과 같은 날짜 범주에도 리디렉션이 필요합니다. 나는 다음과 같은 규칙을 만들었습니다.

RewriteCond %{REQUEST_URI} ^/(200[1-9]|201[1-9])/(0[1-9]|1[0-2])
RewriteRule (.*) http://www.domain.com/blog/$1

그것은 잘 작동합니다http://htaccess.madewithlove.be/

www.domain.com/2009/05는 www.domain.com/blog/2009/05로 이동해야 합니다.

그런데 현장에서는 스쿼트를 하고 있어요. 나는 사이트의 개발 버전을 가지고 있으므로 실제 사이트를 손상시키지 않고 테스트하고 변경할 수 있습니다. 전체 mod_rewrite 섹션:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} ^/(200[1-9]|201[1-9])/(0[1-9]|1[0-2])/
RewriteRule ^(.*) http://www.domain.com/blog/$1

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

어떤 단서가 있나요? 서버는 Apache2가 포함된 Ubuntu입니다.

답변1

In .htaccessfiles는 ^이 하위 디렉터리의 시작과 일치하므로 ^/in 패턴을 사용하면 안 됩니다.

또한 패턴이 201[1-9]2010과 일치하지 않습니다.

관련 정보