Pergunta

I am currently doing some minor re-work on a friend's site. I have downloaded what she has currently, but all of the links are absolute links, so whenever I navigate within the locally hosted site, I am pushed to the live site. Instead of overwriting all of those links (on each page, in the database, etc.), I would like to "reroute" any links going to "www.google.com" for example to "localhost/project". Is there an easy way to do this with something like an htaccess file? I should also mention that it is a wordpress site, if there is some other way to go about this.

Foi útil?

Solução

There are several ways:

1) Edit your /etc/hosts.txt file and add a line for "127.0.0.1 www.google.com". (That file is in system32, I think for windows) Don't forget to remove that entry when you're done.

2) Do a search-and-replace on the files while editing. Something like perl -i.bak -pe 's/www.google.com/localhost/' *.html would work.

3) Use a proxy that can modify data. https://github.com/evaryont/mousehole

4) Use greasemonkey or similar to modify the page via javascript.

Outras dicas

  • Edit your hosts file.

In linux/osx : /etc/hosts (sudo / su to root, to be able to edit it. for example with vi, pico or nano)

In windows : c:\windows\system32\drivers\etc\hosts (open it via Notepad.exe in elevated (admin) priveleges)

You might want to add both google.com as well as www.google.com. (You cannot use wildcards in the hosts file)

  • Then you need to tell your apache to recognize requests www.google.com , and to serve it from the directory that would also be used by localhost/project

In the httpd.conf file (or related file containing vhosts), you need to add something like:

<VirtualHost *:80>
    DocumentRoot "C:\MyProjects\Project"
    ServerName www.google.com
    ServerAlias google.com
    <Directory "C:\MyProjects\Project">
        Options +Indexes +Includes +ExecCGI
        AllowOverride All
    </Directory>
</VirtualHost>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top