Khi di chuyển một trang WP, tại sao wp-admin lại chuyển hướng đến trang cũ?


16

Tôi đang trong quá trình di chuyển một trang WP từ máy chủ này sang máy chủ khác. Tôi đã sao chép cơ sở dữ liệu và tất cả các tệp, tạo một cơ sở dữ liệu mới và nhập cơ sở dữ liệu cũ. Sau đó tôi đã thay đổi tập tin wp-config. Trang chủ hiển thị tốt, nhưng khi tôi cố gắng truy cập / wp-admin, nó sẽ đưa tôi trở lại trang web cũ.

Trang web mới là một máy chủ dev nơi tôi dự định thực hiện thay đổi phong cách trước khi tôi đưa trang web trực tiếp.

Tôi còn thiếu điều gì về quá trình chuyển đổi này? Làm cách nào để trang web phản hồi chính xác với url url?

Câu trả lời:


22

Nếu đây là một cài đặt WordPress, có một vài mục cơ sở dữ liệu với tên miền cũ của bạn. Cụ thể, siteurlhometrong wp_options.

Điều đó nói rằng, nếu URL dev là tạm thời, bạn cũng có thể đặt hai hằng số sau trong wp-config.php:

define('WP_HOME', 'http://' . $_SERVER['SERVER_NAME']);
define('WP_SITEURL', WP_HOME . '/');

Với điều kiện WordPress được cài đặt trong thư mục gốc của trang web của bạn.


Bạn cũng sẽ cần cập nhật guidtừng cái wp_poststrong trường hợp có bất kỳ tệp đính kèm nào, sử dụng cái gì đó nhưUPDATE wp_posts SET guid = REPLACE('<old_url>','<new_url>', guid)
Cyclonecode

2
GUID không nên thay đổi. Đọc thêm ở đây: codex.wordpress.org/Changing_The_Site_URL#Important_GUID_Note
Nighthawk

4

Nó không phải là một vấn đề lớn. Cơ sở dữ liệu của bạn chứa tất cả các liên kết trước đó không thể được tự động chuyển đổi. Có hai loại giải pháp cho điều đó:

  1. Trong wp-config.phpthêm mã này:

    xác định ('WP_HOME', 'http: //'. $ _SERVER ['SERVER_NAME']);
    định nghĩa ('WP_SITEURL', WP_HOME. '/');
  2. Thay đổi SQL sau bằng cách thay thế "oldurl" bằng liên kết trước và "newurl" bằng liên kết hiện tại:

UPDATE wp_posts SET guid = replace(guid, 'oldurl','newUrl'); 

UPDATE wp_posts SET post_content = replace(post_content, 'oldurl', 'newUrl'); 

UPDATE wp_links SET link_url = replace(link_url, 'oldurl', 'newUrl'); 

UPDATE wp_links SET link_image = replace(link_image, 'oldurl', 'newUrl'); 

UPDATE wp_postmeta SET meta_value = replace(meta_value, 'oldurl', 'newUrl'); 

UPDATE wp_usermeta SET meta_value = replace(meta_value, 'oldurl', 'newUrl'); 

UPDATE wp_options SET option_value = replace(option_value, 'oldurl', 'newUrl') WHERE option_name = 'home' OR option_name = 'siteurl';

Chạy các truy vấn SQL này trong cơ sở dữ liệu của bạn, thay đổi tiền tố nếu bạn có thứ gì đó khác wp_.


2

Chỉ cần thay đổi URL trang web trong cấu hình có thể sẽ không cập nhật tất cả các phần bên trong để tạo một trang dev hoạt động cho bạn (trừ khi trang web này khá đơn giản). Bạn sẽ gặp vấn đề với dữ liệu tuần tự không hiển thị và liên kết trong các bài đăng trỏ đến trang web cũ.

Sẽ thông minh hơn khi sử dụng một công cụ di chuyển như Backup Buddy hoặc Sao chép để tạo một bản sao hoàn chỉnh của trang web có thể được triển khai lại tại một vị trí mới với một URL mới. Làm điều này, bạn vẫn sẽ có các liên kết hoạt động trong các bài đăng, bất kỳ liên kết menu tùy chỉnh nào, v.v ... Sử dụng một trong những liên kết này sẽ giúp việc khởi chạy các thay đổi của bạn trở nên đơn giản hơn. Chỉ cần đóng gói tất cả và triển khai lại vào trang web sản xuất của bạn khi bạn hoàn thành.

Nếu bạn không muốn dành thời gian tải xuống / tải lên mọi thứ một lần nữa, bạn có thể di chuyển cơ sở dữ liệu bằng cách sử dụng WP Migrate DB. Cài đặt nó trên trang web sản xuất của bạn, xuất cơ sở dữ liệu với URL mới và nhập cơ sở dữ liệu được di chuyển đến nhà phát triển của bạn thông qua phpMyAdmin hoặc tương tự. Bất kỳ liên kết được mã hóa cứng nào trong chủ đề của bạn vẫn sẽ cần được cập nhật và .htaccess của bạn sẽ cần được cập nhật nếu bạn đang cài đặt trong một thư mục con.

Thay đổi dòng RewriteBase thành:

RewriteBase /yourfolder/

Và dòng chuyển hướng đến index.php của bạn thành:

RewriteRule . /yourfolder/index.php [L]

0

Bạn phải thay đổi địa chỉ Trang web (URL) và địa chỉ WordPress (URI) thông qua bảng quản trị trước khi chuyển trang web sang URL khác.

Trong trường hợp của bạn, bạn không thể làm điều đó với một trang web trực tiếp, vì vậy bạn có thể thử một công cụ như Tìm kiếm và thay thế cơ sở dữ liệu để thay đổi URL từ cơ sở dữ liệu trang web dev.

Bạn cũng có thể tham khảo Di chuyển WordPress


0
  1. phpMyAdmin: đi tới wp_optionsbộ bảng homeurlsiteurllàm url mới của bạn
  2. Đăng nhập vào wp-adminbảng điều khiển của bạn để setting->general thay đổi Địa chỉ WordPress (URL) và Địa chỉ Trang web (URL)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.