zoukankan      html  css  js  c++  java
  • 在iXWebHosting上安装WordPress遇到的问题,及解决方案

    最近在iXWebHosting的虚拟主机上安装WordPress,遇到两个问题。这里跟大家分享一下解决方法。

    只能安装到子目录的问题

    使用iXWebHosting提供的cPanel后台的EasyApps Collection直接安装应用程序WordPress的时候,安装位置必须输入一个目录名,也就是说,WordPress必须安装到一个网站的某个目录中,而我是想直接安装到该网站的根目录下。

    只能折衷一下:随便输入一个目录,如输入/wordpress,然后一步一步安装完成。

    这时候使用http://domain/wordpress登录安装好的WordPress,进入Generate Setting,把博客地址改成直接的根目录地址:http://domain/。

    保存,OK,现在不能访问了(因为根目录下根本没有/wp-admin/)。

    现在进入cPanel的File Manager,全选/domain/wordpress下的所有文件,Move到/domain/中,确定,等待进度完成。

    再回到刚才无法访问的页面,OK,完成!

    中文乱码

    安装好WordPress以后,发现在文章中输入的中文字符,一保存就都变成了问号。

    查了若干资料,找到一份iXWebHosting提供的官方资料,是MySQL默认编码的问题,MySQL新建数据库的时候,没有指定编码,因此使用了默认的latin1(冰岛语)编码。官方给出的建议是登录cPanel后台的PHPAdmin,手动逐一讲所有编码应用为latin1的表和字段修改成utf8_unicode_ci。

    曾经尝试修改过一次,问题确实解决了,但是,表和字段,一共有六十几个地方需要修改。真的很繁琐。再次提供一份SQL语句,从PHPAdmin中可以直接运行SQL进行修改全部。不过这是针对WordPress 2.9的数据库。不知道其他版本或者以后的新版本数据库结构是否会发生改变。

    MYSQL
    alter table `wp_posts` default character set utf8 collate utf8_unicode_ci;
    alter table `wp_posts` change `post_content` `post_content` longtext character set utf8 collate utf8_unicode_ci not null,
    change `post_title` `post_title`
    text character set utf8 collate utf8_unicode_ci not null,
    change `post_excerpt` `post_excerpt`
    text character set utf8 collate utf8_unicode_ci not null,
    change `post_status` `post_status`
    varchar( 20 ) character set utf8 collate utf8_unicode_ci not null default 'publish',
    change `comment_status` `comment_status`
    varchar( 20 ) character set utf8 collate utf8_unicode_ci not null default 'open',
    change `ping_status` `ping_status`
    varchar( 20 ) character set utf8 collate utf8_unicode_ci not null default 'open',
    change `post_password` `post_password`
    varchar( 20 ) character set utf8 collate utf8_unicode_ci not null,
    change `post_name` `post_name`
    varchar( 200 ) character set utf8 collate utf8_unicode_ci not null,
    change `to_ping` `to_ping`
    text character set utf8 collate utf8_unicode_ci not null,
    change `pinged` `pinged`
    text character set utf8 collate utf8_unicode_ci not null,
    change `post_content_filtered` `post_content_filtered`
    text character set utf8 collate utf8_unicode_ci not null,
    change `guid` `guid`
    varchar( 255 ) character set utf8 collate utf8_unicode_ci not null,
    change `post_type` `post_type`
    varchar( 20 ) character set utf8 collate utf8_unicode_ci not null default 'post',
    change `post_mime_type` `post_mime_type`
    varchar( 100 ) character set utf8 collate utf8_unicode_ci not null;

    alter table `wp_comments` default character set utf8 collate utf8_unicode_ci;
    alter table `wp_comments`
    change `comment_author` `comment_author` tinytext
    character set utf8 collate utf8_unicode_ci not null,
    change `comment_author_email` `comment_author_email`
    varchar(100) character set utf8 collate utf8_unicode_ci not null,
    change `comment_author_url` `comment_author_url`
    varchar(200) character set utf8 collate utf8_unicode_ci not null,
    change `comment_author_ip` `comment_author_ip`
    varchar(100) character set utf8 collate utf8_unicode_ci not null,
    change `comment_content` `comment_content`
    text character set utf8 collate utf8_unicode_ci not null,
    change `comment_approved` `comment_approved`
    varchar(20) character set utf8 collate utf8_unicode_ci not null default '1',
    change `comment_agent` `comment_agent`
    varchar(255) character set utf8 collate utf8_unicode_ci not null,
    change `comment_type` `comment_type`
    varchar(20) character set utf8 collate utf8_unicode_ci not null;

    alter table `wp_links` default character set utf8 collate utf8_unicode_ci;
    alter table `wp_links` change `link_url` `link_url` varchar(255) character set utf8 collate utf8_unicode_ci not null,
    change `link_name` `link_name`
    varchar(255) character set utf8 collate utf8_unicode_ci not null,
    change `link_image` `link_image`
    varchar(255) character set utf8 collate utf8_unicode_ci not null,
    change `link_target` `link_target`
    varchar(25) character set utf8 collate utf8_unicode_ci not null,
    change `link_description` `link_description`
    varchar(255) character set utf8 collate utf8_unicode_ci not null,
    change `link_visible` `link_visible`
    varchar(20) character set utf8 collate utf8_unicode_ci not null default 'y',
    change `link_rel` `link_rel`
    varchar(255) character set utf8 collate utf8_unicode_ci not null,
    change `link_notes` `link_notes` mediumtext
    character set utf8 collate utf8_unicode_ci not null,
    change `link_rss` `link_rss`
    varchar(255) character set utf8 collate utf8_unicode_ci not null;

    alter table `wp_options` default character set utf8 collate utf8_unicode_ci;
    alter table `wp_options` change `option_name` `option_name` varchar(64) character set utf8 collate utf8_unicode_ci not null,
    change `option_value` `option_value` longtext
    character set utf8 collate utf8_unicode_ci not null,
    change `autoload` `autoload`
    varchar(20) character set utf8 collate utf8_unicode_ci not null default 'yes';

    alter table `wp_postmeta` default character set utf8 collate utf8_unicode_ci;
    alter table `wp_postmeta` change `meta_key` `meta_key` varchar(255) character set utf8 collate utf8_unicode_ci null default null,
    change `meta_value` `meta_value` longtext
    character set utf8 collate utf8_unicode_ci null default null;

    alter table `wp_terms` default character set utf8 collate utf8_unicode_ci;
    alter table `wp_terms` change `name` `name` varchar(200) character set utf8 collate utf8_unicode_ci not null,
    change `slug` `slug`
    varchar(200) character set utf8 collate utf8_unicode_ci not null;

    alter table `wp_term_relationships` default character set utf8 collate utf8_unicode_ci;

    alter table `wp_term_taxonomy` default character set utf8 collate utf8_unicode_ci;
    alter table `wp_term_taxonomy` change `taxonomy` `taxonomy` varchar(32) character set utf8 collate utf8_unicode_ci not null,
    change `description` `description` longtext
    character set utf8 collate utf8_unicode_ci not null;

    alter table `wp_usermeta` default character set utf8 collate utf8_unicode_ci;
    alter table `wp_usermeta` change `meta_key` `meta_key` varchar(255) character set utf8 collate utf8_unicode_ci null default null,
    change `meta_value` `meta_value` longtext
    character set utf8 collate utf8_unicode_ci null default null;

    alter table `wp_users` default character set utf8 collate utf8_unicode_ci;
    alter table `wp_users` change `user_login` `user_login` varchar(60) character set utf8 collate utf8_unicode_ci not null,
    change `user_pass` `user_pass`
    varchar(64) character set utf8 collate utf8_unicode_ci not null,
    change `user_nicename` `user_nicename`
    varchar(50) character set utf8 collate utf8_unicode_ci not null,
    change `user_email` `user_email`
    varchar(100) character set utf8 collate utf8_unicode_ci not null,
    change `user_url` `user_url`
    varchar(100) character set utf8 collate utf8_unicode_ci not null,
    change `user_activation_key` `user_activation_key`
    varchar(60) character set utf8 collate utf8_unicode_ci not null,
    change `display_name` `display_name`
    varchar(250) character set utf8 collate utf8_unicode_ci not null;


    我对MySQL的语法不太懂,所以使用了这样的笨方法,应该有办法可以进行表和字段的遍历,然后替换这样子的。希望有熟悉MySQL的高手分享一份更好的SQL代码。

    重写URL的问题

    iXWebHosting没有提供URLRewrite的组件,而我刚好使用的是Windows主机。所以在自定义WordPress的URL的时候遇到了问题。

    从网上找到一个404.php的东西,可以用IIS的404错误来解决这个URL重写的问题。

    把404.php上传到博客根目录,然后设置cPanel中网站的Error,添加一个404的错误页,设置为URL模式,输入/404.php。

    OK,现在使用/archive/234 这样的URL就可以直接访问文章页了。

    这里还有另外一个小插曲

    刚好我有另外一个博客,是需要安装在子目录中的(/blog/),本来是只需要把404设置成/blog/404.php就可以的。

    但是这个网站的主程序是ASP.NET的,并且使用了/404.ashx来对文章系统进行URL重写。冲突了。

    这里给出cPanel的一个解决方案:

    点击进入对应站点的Web Service的设置页面,有一个"Web Directories Setting" 的项目,对的,点击Edit图标进入。

    这是一个类似于设置虚拟目录的地方,只是有两个名字,一个叫Web Directory, 一个叫Application Directory,我不太懂什么意思。

    这里Add一个Web Directory,"Web Directory Name" 设置成blog,而"Web directory path relative to the user home"要设置成博客的安装地址,输入"domain\blog", domain是你的网站文件夹的名字,需要特别注意的是,这里一定输入的是反斜杠,而不是斜杠。我就是在这里输入多次斜杠却不允许提交,才困惑这一栏到底什么意思。

    然后把后面的Web Application由off设置成on。

    再返回Web Service的设置页面,这时候在"Web Directories Setting"下面多了一个Select的选择项,选择刚才添加的Web Directory - blog,点击Go进入。

    注意,下图是点击Go了之后,对Web Directory -blog 进行设置的页面,这里就可以针对/blog这个虚拟目录设置它的404错误了,Add一个404错误,设置为URL, /blog/404.php。

    设置好以后,再从Select下拉列表中选择 Web Application - blog进行设置:
    这里只需要把PHP从off设置为on。其他的ASPNET和SSI试自己的需要选择打开或关闭。

    OK, 到此设置全部结束,可以登录去设置你的博客了。

  • 相关阅读:
    如何在服务器后台跑程序
    相对熵(KL散度)
    Colab使用fitlog或者tensorboardx
    PlotNeuralNet模型图
    scikitplot绘制ROC图
    算法作业:FFT实现大数乘法
    集成学习--Bagging、Boosting、Stacking、Blending
    numpy删除指定元素
    UniLM模型
    周练(11)70. 爬楼梯
  • 原文地址:https://www.cnblogs.com/xiarugu/p/1657272.html
Copyright © 2011-2022 走看看