2014-06-19 2 views
5

Un altro sviluppatore ha creato un sito Web WordPress sul suo computer locale. Quindi ha migrato l'intera installazione su un server. Naturalmente, tutti i collegamenti in sql erano impostati su localhost:8888. Ho quindi eseguito un aggiornamento SQL per correggere i collegamenti in modo che indicassero il dominio corretto (che al momento è un collegamento ipaddress/~username). Ho ricontrollato il mio lavoro e tutto sembra corretto.WordPress collega tutti i reindirizzamenti al doppio URL

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'); 

Ho usato quella codifica, ma con le informazioni appropriate sul dominio.

Quindi ora ecco cosa sta succedendo.

Ogni volta che vado in homepage, funziona, ma le immagini non vengono visualizzate. poi clicco su un link, o viaggio verso il wp-admin, e mostra l'url due volte nella urlbar. così si va a qualcosa di simile:

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

il file .htaccess è tutto di default,

Che cosa potrebbe causare ogni (se WordPress è in una sottodirectory dovrebbe avere una regola di riscrittura per quella invece di /?) link sul sito per andare allo stesso url due volte, se nessuno di loro è elencato così in SQL?

UPDATE:

Va bene, così ho cancellato l'intero database e di reset che, e poi il sito funziona bene. ovviamente questo significa che perdo tutti i miei contenuti. Sto indovinando ho rovinato la query sql da qualche parte lungo la linea. Ma non riesco a trovare da nessuna parte che abbia due URL, o addirittura lo causerebbe. Altri aggiornamenti arrivano mentre scopro il mio problema.

risposta

14

ho risolto! Speriamo che se qualcun altro viene qui e abbia lo stesso errore, questo aiuterà. Nella tabella wp_options le righe per site_url e home devono avere http:// davanti a esse. In qualche modo sulla mia, la mia query sql ha eliminato quella parte. Certo che non l'ho notato perché l'indirizzo sembrava corretto, perché normalmente funziona. ma in questo caso ha causato un loop infinito con alcuni collegamenti e in altri ha appena raddoppiato l'indirizzo.

+1

Hai salvato il mio giorno –

3

Mentre eseguivo le regolazioni del database che potevi fare, trovo che siano problematiche. Invece ogni volta che ci si muove di un sito WordPress, è necessario regolare correttamente configurazioni nel vostro WordPress installano nel file wp-config.php dalle seguenti variabili:

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'); 

Questo forzerà la vostra installazione di utilizzare i newdomain.com URL. Inoltre, quando si esegue questa operazione la prima volta impostata l'impostazione RELOCATE a true in questo modo:

define('RELOCATE', true); 

Questo dice in sostanza WordPress per rejigger (che è il mio termine tecnico per esso) è impostazioni memorizzate per le nuove impostazioni. E dopo aver ricaricato il vostro sito & funziona come previsto, impostare RELOCATE impostazione torna a false in questo modo:

define('RELOCATE', false); 

Ma anche dire questo:

(se WordPress è in una sottodirectory dovrebbe avere una regola di riscrittura per che invece di /?)

che deve cambiare se si sta mettendo WordPress in una sottodirectory. Quindi supponiamo che WordPress sia in una sottodirectory chiamata coolsite/.Quindi modificare il valore di default di WordPress .htaccess da questo:

# 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 

A questo; notare il modo in cui ho cambiato il RewriteBase & l'ultimo 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 
+1

Bene, grazie per avermi fatto conoscere questo modo migliore di farlo. Sfortunatamente nessuna di queste cose ha cambiato nulla per me. Sto ancora ricevendo questi errori esattamente come prima. – DauntlessRob

0

Mettere http:// davanti site_url e Home_url nella tabella di wp_option del database.