Wordpress永久链接在站点迁移后不再有效

时间:2015-09-24 21:55:26

标签: wordpress apache .htaccess xampp permalinks

网站迁移后,新网站网址的主页会加载,但固定链接全部重定向到Apache(我在XAMPP堆栈上)默认页面:

Object not found!

The requested URL was not found on this server. If you entered the URL manually please check your spelling and try again.

If you think this is a server error, please contact the webmaster.

Error 404

localhost
Apache/2.4.16 (Win32) OpenSSL/1.0.1p PHP/5.5.28 

我不认为这是wordpress db问题。否则,我会得到wordpress的默认页面未找到页面。还有什么导致这个?是否有需要修改的.htaccess文件?

修改 我使用此脚本进行数据库迁移:https://interconnectit.com/products/search-and-replace-for-wordpress-databases/

修改 所以从https://codex.wordpress.org/htaccess添加了默认的.htaccess,然后重定向到xampp的主页。所以这正式意味着wordpress db / routing中某处的永久链接结构被破坏(没有正确路由)。我的新网站网址是" localhost / somewebsite",其中" localhost"是my xampp / local dns setup的默认域名。

2 个答案:

答案 0 :(得分:1)

我找到了解决方案。您必须为您的站点创建虚拟主机。以下是您需要完成的4个步骤:

  1. 转到C:\ xampp \ apache \ conf \ extra \ httpd-vhosts.conf并创建两个新主机。首先设置一个localhost,这样当你想要调用另一个没有虚拟主机的文件夹时:
  2. #localhost
    <VirtualHost *:80>
      DocumentRoot "C:/XAMPP/htdocs"
      ServerName localhost
    </VirtualHost> 
    #My Website
    <VirtualHost *:80>
      DocumentRoot "C:/XAMPP/htdocs/my-website" #your path to your installation
      ServerName my-website.dev #Change my-website to your wish name/url
      ServerAlias my-website.dev #Change my-website to your wish name/url
    </VirtualHost>   

    1. 转到Windows主机文件并添加:
    2. 	127.0.0.1		my-website.dev

      1. 转到Wordpress .htaccess文件并将其粘贴到其中:
      2. # 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>
        
        # END WordPress

        您必须保存所有文件并重新启动Apache和MySQL服务器

        1. 现在你必须将数据库中的所有Worpdress url更改为http://my-website.dev(这是一个示例!你必须在此处粘贴你在xampp主机文件中设置的url)。为简化此步骤,您需要从https://interconnectit.com/products/search-and-replace-for-wordpress-databases/下载PHP中的数据库搜索和替换脚本。解压缩并将文件夹Search-Replace-DB-master粘贴到C:/XAMPP/htdocs中。 打开浏览器并转到此网址:http://localhost/Search-Replace-DB-master/。现在在数据库部分输入数据库信息(db-name,user,passwort)。转到顶部并输入您的旧网址replace字段(在我的情况下:https://my-website-old-url.com)和with新网址后的字段(例如:http://my-website.dev) 。
        2. 现在点击页面中间的实时运行,所有旧网址都将替换为新网址。

          您可能需要在httpd-conf文件中将AllowOverride设置为全部。您还必须检查httpd-conf中的 LoadModule rewrite_module modules / mod_rewrite.so 是否因为重写等原因而没有#infront ...

          最后进入浏览器并输入新的网址:my-website.dev

          多数民众赞成!希望我能帮到你。

答案 1 :(得分:0)

这里可能会出现一些问题。

  1. 尝试转到您的管理页面并重置永久链接,方法是保存默认固定链接,然后再更改回原始永久链接。这是因为在迁移过程中,使用的固定链接似乎搞砸了,并且需要99%的时间重置,特别是如果您安装了woo商业。
  2. 检查您的服务器上是否启用了mod重写
  3. 确保您的.htaccess文件是默认设置,以避免其他规则与新环境中的默认规则冲突
  4. 我也不认为这是您的数据库问题。试一试,让我们知道它是怎么回事!