source

WordPress 링크 모두 이중 URL로 리디렉션

itover 2023. 2. 7. 19:45
반응형

WordPress 링크 모두 이중 URL로 리디렉션

동료 개발자가 자신의 로컬 머신에 WordPress 웹사이트를 만들었습니다.그런 다음 전체 설치를 서버로 마이그레이션했습니다.당연히 sql의 모든 링크는 다음과 같이 설정되었습니다.localhost:8888그런 다음 SQL 업데이트를 실행하여 링크를 수정하고 올바른 도메인을 지정했습니다.ipaddress/~usernamelink) 작업을 다시 확인했는데 모두 올바른 것 같습니다.

UPDATE wp_options SET option_value = replace(option_value, 'http://olddomain.com', 'http://newdomain.com');
UPDATE wp_options SET option_value = replace(option_value, 'feed://www.olddomain.com', 'feed://newdomain.com');
UPDATE wp_posts SET guid = replace(guid, 'http://olddomain.com','http://newdomain.com');
UPDATE wp_posts SET post_content = replace(post_content, 'http://olddomain.com', 'http://newdomain.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://olddomain.com', 'http://newdomain.com');

나는 그 코드를 사용했지만, 거기에 적절한 도메인 정보가 들어있다.

자, 이제 무슨 일이 일어나고 있는지 알려드리죠.

홈페이지에 접속할 때마다 동작하지만 이미지가 표시되지 않고 링크를 클릭하거나 teh wp-admin으로 이동하면 URL이 urlbar에 두 번 표시됩니다.그래서 다음과 같이 됩니다.

http://newdomain.com/~user/http://newdomain.com/~user/post-name-blah-blah-blah

.htaccess파일은 모두 디폴트입니다(WordPress가 서브디렉토리에 있는 경우 WordPress에 /가 아닌 개서 규칙이 있어야 합니까).

사이트의 모든 링크가 동일한 URL로 두 번 이동하는데, 이러한 링크가 SQL에 표시되지 않는 경우 어떻게 해야 합니까?

갱신:

좋아요, 그래서 데이터베이스를 다 지우고 리셋을 했더니 사이트가 잘 돌아가요.물론 모든 콘텐츠를 잃게 됩니다.SQL 쿼리를 망친 것 같아요하지만 URL이 두 개 있는 곳도 찾을 수 없고, 원인이 될 수도 없습니다.문제가 해결되면 더 많은 업데이트가 있을 것입니다.

내가 해결했다!다른 사람이 여기 와서 같은 실수를 하면 도움이 될 거야에서wp_options을 위해 행표를 작성하다site_url그리고.home가질 필요가 있다http://그들 앞에서.어쩌다 보니 내 SQL 쿼리가 그 부분을 망가뜨렸어물론 주소가 정확해 보여서 알아차리지 못했습니다. 왜냐하면 보통 그렇게 작동하기 때문입니다. 하지만 이 경우 링크로 끝없는 루프가 발생하고 다른 링크에서는 주소가 두 배로 늘어납니다.

당신이 한 데이터베이스 조정은 효과가 있을 수 있지만, 문제가 있다는 것을 알게 되었습니다.대신 WordPress 사이트를 이동할 때마다 WordPress 설치에서 구성을 적절하게 조정해야 합니다.wp-config.php다음 변수에 대한 파일:

define('WP_SITEURL', 'http://newdomain.com/wordpress');
define('WP_HOME', 'http://newdomain.com/');
define('WP_CONTENT_DIR', '/path/to/your/wordpress/wp-content');
define('WP_CONTENT_URL', 'http://newdomain.com/wp-content');

이 조작에 의해, 인스톨이 강제적으로newdomain.comURL 입니다. 또한 처음 이 작업을 수행할 때RELOCATE설정true다음과 같습니다.

define('RELOCATE', true);

이는 기본적으로 WordPress에게 새로운 설정에 대한 저장된 설정을 다시 표시하도록 지시합니다(그것은 저의 전문 용어입니다).그리고 사이트를 새로고침하여 예상대로 동작하면RELOCATEfalse음음음같 뭇매하다

define('RELOCATE', false);

하지만 이렇게도 말합니다.

(WordPress가 서브디렉토리에 있는 경우 WordPress에 /가 아닌 개서 규칙이 있어야 합니까?)

WordPress를 서브디렉토리에 배치하는 경우는, 이 점을 변경할 필요가 있습니다.가 WordPress라는 coolsite/ 다음 WordPress를 변경합니다..htaccess★★★★★★★★★★★★★★★★★★:

# 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

점에 는, 「」, 「」의 변경 해 주세요.RewriteBase & ★★RewriteRule:

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

놓다를 http://site_url ★★★★★★★★★★★★★★★★★」Home_url wp_option데터데

언급URL : https://stackoverflow.com/questions/24297263/wordpress-links-all-redirect-to-double-url

반응형