正如MrWhite所建议的,以下步骤解决了问题:
(1)Adding vhost block to apache2.conf configuration file of Apache.
NameVirtualHost 192.168.1.10:80
<VirtualHost 192.168.1.10:80>
ServerName local.site.com
DocumentRoot "/var/www/html/local.site"
</VirtualHost>
您可以访问www/html/local。site是本地计算机上所有网站文件所在的文件夹本地。地点com是本地网站的域名,VirtualHost指令有一个明确的IP地址,可以通过在命令行中运行IP addr show来发现,以支持一个IP地址上的多个基于名称的虚拟主机
Adding the following entry to /etc/hosts 192.168.1.10本地。地点com公司
符合注释here
在Apache服务器上创建虚拟主机配置不会神奇地导致为这些主机名创建DNS条目。您必须在DNS中拥有名称,并解析为您的IP地址,否则其他人将无法看到您的网站。您可以在主机文件中放置条目以进行本地测试,但这只能从具有这些主机条目的计算机中进行。
(3)Using the same .htaccess from the staging website
主要包括以下内容:
# 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>
可能有更多来自安全wordpress插件的指令。如果他们使用登台网站url,如:
#AIOWPS_PREVENT_IMAGE_HOTLINKS_START
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} \\.(gif|jpe?g?|png)$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://site.com [NC]
RewriteRule \\.(gif|jpe?g?|png)$ - [F,NC,L]
</IfModule>
RewriteCond %{HTTP_REFERER} !^http(s)?://site.com [NC]
应替换为
RewriteCond %{HTTP_REFERER} !^http(s)?://local.site.com [NC]
所有步骤均在以下步骤之后运行:
将站点代码库克隆到本地开发环境
将mysql转储导入本地mysql db
使用wp-cli 用本地搜索并替换临时站点url。地点com