我目前正在朋友的网站上做一些小的修改。我已经下载了她目前拥有的内容,但所有链接都是绝对链接,所以每当我在本地托管的站点中导航时,我都会被推送到实时站点。我不想覆盖所有这些链接(在每个页面上,在数据库中等),我想“重新路由”任何指向“www.google.com”的链接,例如“localhost/project”。有没有一种简单的方法可以使用 htaccess 文件之类的东西来做到这一点?我还应该提到它是一个 wordpress 网站,如果有其他方法可以解决这个问题。
问问题
77 次
2 回答
1
有几种方法:
1) 编辑您的 /etc/hosts.txt 文件并为“127.0.0.1 www.google.com”添加一行。(该文件在 system32 中,我认为适用于 windows)完成后不要忘记删除该条目。
2)在编辑时对文件进行搜索和替换。类似的东西perl -i.bak -pe 's/www.google.com/localhost/' *.html
会起作用。
3)使用可以修改数据的代理。https://github.com/evaryont/mousehole
4)使用greasemonkey或类似的通过javascript修改页面。
于 2013-05-18T19:31:49.533 回答
0
- 编辑您的主机文件。
在 linux/osx 中:/etc/hosts(sudo / su 到 root,以便能够编辑它。例如使用 vi、pico 或 nano)
在 Windows 中:c:\windows\system32\drivers\etc\hosts(通过 Notepad.exe 在提升的(管理员)权限中打开它)
您可能希望同时添加 google.com 和 www.google.com。(不能在 hosts 文件中使用通配符)
- 然后您需要告诉您的 apache 识别请求 www.google.com ,并从 localhost/project 也将使用的目录中提供它
在 httpd.conf 文件(或包含虚拟主机的相关文件)中,您需要添加如下内容:
<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>
于 2013-05-18T19:54:04.450 回答