从 url Wordpress 中删除目录名称

Posted

技术标签:

【中文标题】从 url Wordpress 中删除目录名称【英文标题】:Remove directory name from url Wordpress 【发布时间】:2013-10-31 05:57:48 【问题描述】:

我在 www.example.com 上有一个网站。在该域上,Wordpress 网站位于目录 wp 中。

所以要访问我的 wordpress 网站,您应该访问 www.example.com/wp,这是主要网站。

在根目录中,我有 index.html,您可以在其中选择语言,然后转到 Wordpress 网站

我需要的听起来很简单! :) 我想使用 .htaccess 或任何其他方法从 url 中删除 wp,所以当浏览 Wordpress 网站时,它应该在没有 wp 的情况下工作!

我必须注意,网站必须留在 wp 文件夹中!

这可以实现吗?

【问题讨论】:

访问codex.wordpress.org/Giving_WordPress_Its_Own_Directory并查看Using a pre-existing subdirectory install下的说明 【参考方案1】:

添加(或编辑).htaccess 文件并将其放入:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wp/
RewriteRule ^index\.php$ - [L]
RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

这基本上为您的 apache 服务器创建了一个重写规则,并且所有流量都根据 RewriteBase 指令重定向。

【讨论】:

我应该把这个 htaccess 文件放在哪里?在根文件夹内还是在 wp 文件夹内? 该文件应该叫“.htaccess”,在开头标记点。它应该放在您的网络服务器的根目录下,即 www.example.com【参考方案2】:

1) 在您的仪表板中,转到设置 -> 常规并确保

a) wordpress 目录 -> http://mydomain.com/wp

b) 网站地址 -> http://mydomain.com

2) 将 index.php 从子目录移动到根目录(移动,不要只是复制)

3) 编辑您的 index.php 以读取

    /** Loads the WordPress Environment and Template */
    require('./wp/wp-blog-header.php');

其中“wp”是您的子目录

4) 删除子目录中的任何 .htaccess 文件

5) 将此添加到根目录中的 .htaccess 中

# 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

在此设置下,您的 wordpress 安装将位于 /wp/ 目录中。访问者将使用http://mydomain.com 访问您的网站。

如果您想全面了解所有内容,以便准确了解自己在做什么,请阅读https://codex.wordpress.org/Giving_WordPress_Its_Own_Directory

【讨论】:

以上是关于从 url Wordpress 中删除目录名称的主要内容,如果未能解决你的问题,请参考以下文章

如何使用本地主机的 .htaccess 从 URL 中删除目录名称

如何从 WordPress 网站 URL 中删除 index.php [重复]

如何实现wordpress的友情链接两列显示,分类目录两列显示

从子目录中的 URL 中删除 .php

从 url 隐藏目录名称和 index.php

wordpress 常用操作