「已解决」WordPress 直接通过 example.org 访问的问题

我已经在将 WordPress 安装到了 /srv/www/htdocs/wordpress 下,访问我的博客就需要打开 example.org/wordpress

我想要直接通过 example.org 就能访问我的博客。根据 WordPress 的文档 Giving WordPress Its Own Directory 操作之后,打开 example.org 的确可以访问到我的博客首页了。
但是具体的文章,比如有一篇 example.org/wordpress/hello-world,变成了 example.org/hello-world,后者是不正确的地址。应该要怎么修改?
WP 有一篇文档 Moving WordPress ,但是还是
看不明白啊。求指教。

Update:已经解决了。WordPress 的那篇文档太老旧了,根本就是错误的嘛,改天去更新一下。详情参考我的文章: hottea.me/wordpress/2014/08/install-wordpress-in-opensuse/

改你的 permalinks 格式。

楼主问的是把子域名解析到子文件夹的问题吧?

之前折腾过方案还是很多的。

建立 .htaccess 是一种,但是 openSUSE 默认不会读取 .htaccess ,要改 apache 的配置,反正我是没有成功过,还要泛域名解析什么的。

另一种是可以用 URL 转发,这个直接通过域名管理可以实现,你要让文章 hello world 显示为 example.org/hello 而不是 example.org/wordpress/hello 需要使用「隐含」转发,但有的域名商可能不提供这项服务。当时遇到的问题是其他一切都好就是标签页不知怎么混乱了。标签页不显示标题而是显示网址。

据说 301 跳转也可以。最后还有一种就是弄一下 /etc/apache2/vhosts.d 这个东东,下面有个模板并带有详细的说明,可以参考一下。这两个我也没有试过。

最后我还是选择直接解压到 /srv/www/htdocs 下算了。。。反正也打大算一个 vps 开多个网站,据说最好是一个 IP 对应一个域名。当然我不是用 WordPress,用的是 typecho :-)

.htaccess 用的是 apache2 的 rewrite 模块,openSUSE 下默认没开,要自己设置。这个 .htaccess 规则是 WordPress 生成的,但是按照他的文档改了 site adrress 之后,生成的 .htaccess 不知道对不对。

/etc/apache2/vhosts.d 这个没试过。不太了解。
直接把 wordpress 的内容放到 /srv/www/htdocs 会显得乱七八糟的啊。

改成哪种?

选择自定义,改成
http://www.example.com/wordpress/%year%/%monthnum%/%postname%/
这样子?

个人觉得隐含转发是比较容易的一种,不需要在 vps 上动什么东西。把顶级域名解析到 IP,然后把 xxxx.org/wordpress 隐含转发到 xxxx.org
就可以直接通过 xxxx.org 访问 xxxx.org/wordpress,隐含转发后 xxxx.org/wordpress/hello 会显示成 xxxx.org/hello

这个隐含转发规则要怎么写啊? I have no idea.

不需要写的,你登陆你的域名控制中心,比如我用的这个控制中心:

打个比方我先把 xxxx.org 解析到我 vps 的 ip 上了,确认可以访问以后,我可以这样


这样就把 blog.xxxx.org 转发到 xxxx.org/blog 上去了,然后解析重启 DNS 服务器就好了,你可以通过 blog.xxxx.org 访问 xxxx.org/blog 。你在 vps 不要设置什么东西。就是不知道你的域名供应商是不是提供这项服务,据说有的不提供的。

PS:隐含转发的好处是你通过 blog.xxxx.org 访问 xxxx.org/blog 在网址的地方会显示是 blog.xxxx.org。而一般的 URL 转发则会显示 xxxx.org/blog,那就不好看了。

我彻底回归纯 HTML 了……

在 Windows 里装了个 Expression Web ~

Linux 里 Blue Griffon

连 asciidoc 都懒得用了……

我堕落了…… 没有折腾动力了……

回头看一下,namecheap 应该有提供这个服务…这也是很基础的服务啊

来自我的 Nexus 5 上的 Tapatalk

不知道,你觉得自己说了一大堆,实际上你什么都没说。我现在连你的 http 服务是 apache2 还是 nginx 做的还都不知道,你已经跟他们问上转发规则的写法了,这种信息不对称的讨论我参与不了。

失误,我没说清楚。是 LAMP,Linux,Apache2,MariaDB 和 PHP5。

那帮不了你…apache2 我不熟,只会用默认的 ; nginx 和你的情况不一样,nginx 只需要把 localtion 的 root 绑定到那个文件夹就可以了。