2012-04-03 6 views
4

Ich habe gerade Wordpress installiert, und eine Sache, die ich entdeckte, ist, dass Website-URL scheint in allen generierten HTML-Code fest codiert sein.Wordpress und hardcoded Domain-Namen in URL

Zum Beispiel sehe ich Dinge wie:

<link rel="profile" href="http://gmpg.org/xfn/11" /> 
<link rel="stylesheet" type="text/css" media="all" href="http://www.mywebserver.com/wp- content/themes/twentyeleven/style.css" /> 
<link rel="pingback" href="http://www.mywebserver.com/xmlrpc.php" /> 

Gibt es eine Möglichkeit Wordpress zu sagen, die Domainnamen in den generierten URLs Streifen aus? Zum Beispiel würde ich es vorziehen:

<link rel="profile" href="http://gmpg.org/xfn/11" /> 
<link rel="stylesheet" type="text/css" media="all" href="/wp-content/themes/twentyeleven/style.css" /> 
<link rel="pingback" href="/xmlrpc.php" /> 
+2

Sie können diese Diskussion sehr interessant finden. http://wordpress.org/support/topic/using-relative-instead-of-absolute-links-for-images?replies=19 – mrtsherman

+0

Danke für den Link, es war sehr interessant. – steve8918

Antwort

7

Ein paar Links-Code kann es beheben, in Ihren Funktionen Datei und Header-Datei: Fix absolute links in Wordpress

functions.php

function fix_links($input) { 
return preg_replace('!http(s)?://' . $_SERVER['SERVER_NAME'] . '/!', '/', $input); 
} 

Kopf .php - bevor Sie ein beliebiges HTML ausgeben

ob_start('fix_links'); 
+0

Danke, das war genau das, was ich gesucht habe. – steve8918

+0

Ich musste dies auf zwei Arten ändern: ein add bis zum Ende der Fußzeile (gute Praxis), und ändern Sie $ _SERVER ['SERVER_NAME'] in die Wordpress-Host-Funktion site_url(), z. return (str_replace (site_url(), "", $ input)); da ich die Site als Proxy verwende und SERVER_NAME den Proxy-Host anstelle von Wordpress-Host zurückgibt. – mummybot