wake-up-neo.com

htaccess 301 리디렉션은 Wordpress 사이트에서 작동하지 않습니다.

.htaccess 파일을 사용하여 301 개의 리디렉션을 설정하려고합니다. 웬일인지 그것이 나를 위해 일하지 않고있다.

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
# BEGIN 301 Redirects
Redirect 301 /about-us/ http://www.newsite.com/new-page/about-us/
# END 301 Redirects

왜 내 Wordpress 사이트에서이 기능이 작동하지 않는지에 대해 알려줄 수 있습니까?

1
Beau Beau

일반적으로 PHP 쪽에서 리디렉션을 처리하는 것이 훨씬 좋습니다. (준 유능한 개발자가 구현한다고 가정)보다 융통성 있고 적은 오버 헤드를 사용합니다.

특히, 질문에, WordPress 규칙 세트는 all URLs을 처리 할 것이기 때문에 규칙이 너무 늦어서 WordPress 규칙보다 먼저 이동해야합니다.

1
Mark Kaplun

다음 코드를 사용해보십시오.

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteRule ^old-page-name(/.*)?$ https://www.myurl.com/new-page-name/ [L,R=301,NC]

RewriteRule ^another-old-page(/.*)?$ https://www.myurl.com/another-new-page/ [L,R=301,NC]

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

이러한 리디렉션의 경우이 플러그인을 사용하는 것이 좋습니다. https://wordpress.org/plugins/redirection/ 고급 REGEX 리디렉션을 사용하고 지원하기 쉽습니다.

개인적으로 고급 및 도메인 관련 리디렉션, 즉 도메인 정규화를 위해 .htaccess 파일을 개인적으로 사용했습니다.

그러나 .htaccess 파일에서이 리디렉션을 실제로 수행하려는 경우 다음과 같이해야합니다.

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# BEGIN 301 Redirects
Redirect 301 /about-us/ http://www.newsite.com/new-page/about-us/
# END 301 Redirects
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
0
gintsg