Support » Themes and Templates » Theme not visible on external browser

  • Resolved golf1025


    Hi, I’m new here so please be kind.
    I installed WP on my local PC. Everything works fine.
    Except. When a user from the internet logs on to my website the blog shows plain text and is not formatted with the chosen template (default 1.6) (which I do see correctly on localhost).
    Any suggestion on what I do wrong/how to correct are greatly appreciated.

Viewing 15 replies - 1 through 15 (of 20 total)
  • Your site is not properly set up to be accessed by a remote user on the internet.

    All the html links point to addresses such as href=”http://localhost/wordpress/wp-content/themes/default/style.css” rather than using the domain name.

    You need to go into the admin panel and change the URI of your blog (under the options tag) to use your proper domain name instead of “localhost”.

    You may have problems with this due to the admin panel also trying to use “localhost”, meaning you would be changing settings on your local computer not on the online version. As you don’t have any content in your blog yet, I suggest deleting the database and creating it again, as that should fix it.

    Thanks guys,
    You solved my problem! I now have the full graphic version online for my external users. But I now have the plain version on localhost. I didn’t delete the database however.
    Would there be a way of having the best of both worlds without having to re-edit the urls back and forth from local host to everytime I edit my blog?

    I’m slightly confused about your setup. I assume you have a webserver and MySQL on your own computer for testing, and that your site is hosted on an external machine with its own MySQL database.

    When you say, “every time you edit your blog”, do you mean when you write a post? Surely you write the posts on the online version, so you don’t need to transfer them to your local machine.

    Once you have separate databases on each machine, each with the correct URL setting for that machine, it should work fine. You can modify your WordPress theme and any other related files, test them offline and upload them. As you are not transferring the database, there should be no need to keep changing the setting. You should only need to edit the URL if you are moving the database between machines (using mysqldump or similar).

    If you aren’t moving the database, but you still can’t get both machines working, I suspect you are changing the URL setting on the opposite machine each time as I suggested before (due to the admin panel using the setting too).

    Thanks jrawle,
    Thanks for your reply. I’m sorry if my setup seems to confuse you. I’m running everything on a single machine, my pc at home. So there is no externale machine with it’s own WordPress installation/MySQL database etc.
    This is my actual setup:
    1. Windows XP Home SP2
    2. Abyss Web Server X1 2.4
    3. MySQL Community server 5.0
    4. MyPHP 5.0
    5. phpMyAdmin 2.9
    6. WordPress 2.1
    At presently I’m in the process of embedding Galley2 into WordPress.
    When administring/configuring WordPress, I set the URL’s to LOCALHOST so that I can see everything I’m doing.
    When I want to see how everything works/looks for an external user, I change the URL’s back to and use proxify to simulate what the external user sees.
    Now my question regadering ‘best of both worlds’ is whether there’s a way/workaround to not have to change the URL’s everytime.
    I hope this clarifies my previous question.
    Thanks again for your help so far.

    Now I see. My reply is that you shouldn’t need to “change the URL’s back to and use proxify to simulate what the external user sees”. The site should work exactly the same whether the domain is localhost, or

    Changing the domain shouldn’t affect anything. Moving to a different server/PHP/MySQL version when the site goes live is much more likely to have an impact, but you can only test that by copying the site to the other server.

    The problem, as I said, is because you are changing the URL while keeping the same database.

    When your site goes live, will you be uploading the contents of your database too? I found the easiest way to do this is to do a simple search/replace on the dumped database, from localhost to

    Thanks for your patience jrawl,
    But I’m afraid your latest answer confuses me now.
    I am under the assumption that I only need one database, namely the one that resides on my pc. Also my site is actually live, you can surf to

    On my pc at home when in the General Options tab of WordPress admin, I can set both the WordPress address (URL) and Blog address:

    Setting you see I see on my pc
    ————— ——————- —————-
    localhost no theme background theme background theme background no theme backgr.

    You can surf to to see it, with the full theme / or no theme background.

    I will do most posts at home from my pc. Only when traveling abroad would I need to post from an internetcafe.

    I’m afraid I’m still confused as to why I see two different views of my site depending on what url I set.


    Hold on… am I right in thinking you are hosting your website on your home PC, rather than using a commercial hosting company?

    Then why do you need to use localhost at all? Just use the hostname for your machine as if you were an external user.

    Unfortunately I’m not familiar with the webserver you are using, or about proxify. I only know about apache. If I was testing a site, I’d used name-based virtual servers to allow me to have multiple versions. You can use a static hosts file to make different names resolve to your local machine.

    I don’t understand your setup myself…but I can offer a *little* bit here.

    Localhost is *very* different from regular internet traffic. A locahost server is a *private* server that resides on your home computer. You can have your setup on your home computer with MySQL, PHP, Apache – all the goodies – just like you would get from your own hosting provider. However it’s kep private because it resides on your own hard drive, and the only way to access it is through a local IP address – usually (or something similar). 192.168.x.x IP addresses are reserved solely for the purposes of private access – meaning it’s the IP address of your computer, whether or not you are actually connected to the outside world through the internet. If you are actually logged into the internet and open your browser window and type in “localhost” or a “192.168.x.x” IP address, it’ll look *on your own hard drive* for the server – it will not look to outside access. That’s what that IP is reserved for.

    Your stylesheets and files are pointing to “localhost”. So when you upload the files, etc. to the hosting space that actually is accessed via a regular IP address served up by your host, then you need to have them show the file paths to that server. If you have it via localhost, the internet will not know where to look, because such an IP doesn’t exist publicly.

    You may have a localhost setup on your home computer. I do, myself. I have an installation of WordPress running on my hard drive, and it’s used for testing out my site designs before I put them on a live site. When I *do* put them on a live site, I make sure all instnaces of “localhost” are changed to the proper path for the server it resides on – which is no longer my own when it’s made live.

    The URL “” does not live on your home computer. According to whois, it lives with the host of “” – which means is your regular web host, and that’s what’s serving up your live site to the rest of the world.

    Trying to enter a post on your localhost computer and hoping it shows up on your live site is like writing a letter on a piece of paper, setting it on the table, and then wondering why the letter never got to your mother two weeks later. They aren’t even in the same area to have access to one another.

    When you do posts from your home on your PC, or whether you do them from an internet cafe when you travel, you will log into your blog’s admin area – the one that lives on your hosts’ site. The posts will appear on your live site – but not your localhost. They are not connected together.

    Unless I’m missing something, and *you* are “”, and the hosting service is run from your own office (and if so, then I don’t know what to tell you because I’ve never run my own hosting server) – then the two do not connect to one another. You can use your localhost environment for development purposes – but if you want stuff to appear on your live site, them you *must* move everything to the externally hosted server.

    I hope that made some sense!

    Thanks hrawle and doodlebee for your clear replies.
    In fact everything I run and do resides on my home pc. My domainname is hosted with an external provider: I used to have all my wp-stuff hosted by them but because filespace became too expensive i decided to switch the whole lot to my own pc. My domainname still resides with firstfind, so i did a dns redirect and opened the appropriate ports on my router. So now anyone typing arrives on my pc’s harddisk. And when i set my wp urls to you and everyone else can see my blog nicely themed. It’s only when i set the wp urls to localhost that the themes don’t show up anymore.
    Kind regards,

    Okay – well that makes things a little bit more clear. (At least for me, anyway.) I can sorts see your problem a little bit better.

    What I would suggest as the solution is to just leave your blog URL (in the options) set to your visible and public URL. That way the theme files always point to the right place and you aren’t losing anything.

    There’s really no need to use your “localhost” when the site is live…you can easily just log in to the admin area on the server and do everything you need to do.

    That’s me, though – that’s what I would do. I’dput up another installation for development purposes when you don’t want things to be visible on the live site (you can use the same database, just change the prefix in the wp-config file) – just don’t enter any posts into the development area. Then, when you make theme changes that eventually go live, you just have to move the files from one folder to another.

    Hopefully that made sense!

    You need to register with a domain name server. Here’s what you can do. Setup your home server with a static ip address. Go to some place like DYNDNS.COM and register for a static ip (free). Pick a name, “” and set “” to point to your static ip (which is your webserver at home.) You’ll have to download their(dyndns) update client (also free). If you’re using a router set up port forwarding for the ports you need to forward to the static ip.If you have a problem with setting this up on your router check out You’ll have no problem after that, you’ll be able to log on using localhost or your new static ip address( You can also take a look at xammp. They have a package deal(free) that installs on a windows system, includes apache,mysql,myphp,filezilla,mercurymail transport system… It will set up apache,mysql and myphp on your windows system without all the manual fuss. If you go the static ip route make sure you change the http address for wordpress to the address you choose at dyndns ( If you try the xampp install remember that the default install will be installed to program files. So to get your website it would look like this “”
    to log on (admin) it would look like this…””.
    The way xampp installs is as follows, “c://program files/xampp/”. The path with wordpress installed would look like this “c://program files/xampp/htdocs/wordpress”

    Thanks doodlebee,
    I set my blog url to and left my Word Press address url at localhost. Unfortunately this leaves my live site without the template. So it’s still either good on the web or good on my pc, but not both.

    So I need to try your second suggestion “I’dput up another installation for development purposes when you don’t want things to be visible on the live site (you can use the same database, just change the prefix in the wp-config file) – just don’t enter any posts into the development area. Then, when you make theme changes that eventually go live, you just have to move the files from one folder to another.” Could you explain howto do this or point me to the right documentation?

    Hi ArborBarber,
    Thanks for the trouble of looking into my ‘problem’. I’m probably too new in this whole matter to understand the gist of your suggestion. You are quite clear on what I should do, but not in explaining why doing it would solve my problem (no offence meant).

    My domain name is actually registered with a regular ISP. This ISP also provides the facility to route my domain name to my static IP ( my pc.

    On my router I do portforwarding to the IP of my pc ( That’s how users on the web can reach my site. What I don’t understand is why i should do the DynDNS and how this would differ from my present setup. And why your suggestion would solve my problem of seeing & not seeing the theme background dependent on where my url’s point to.

    I thought you may have been having an issue with a dynamic ip address… however that’s not the case at all.
    I was having the same issue you were and changing the wordpress address under the option menu solved my issue all the way around…from internet side and lan side, that’s why I thought it was a ip address issue and that by getting a static ip it would solve your problem. The other suggestion about xampp makes it pretty easy to setup wordpress. If you put… /wordpress in your address you should be able to view the site from either side (net/lan). Is your site in a different directory other then wordpress? If your seeing a broken page(text left justified) I think the issue is going to be with the options setting (address).

    Thanks for your quick reply. I’ll try the xampp route, though I think it would mean re-doing everyting from scratch. Because I’m also trying to embed Gallery2 in WordPress, that’ll take some work and I’m not there yet.

Viewing 15 replies - 1 through 15 (of 20 total)
  • The topic ‘Theme not visible on external browser’ is closed to new replies.