我有一个wordpress网站安装在目录"wp"。为了便于维护,我想把它保存在那个文件夹里。Wordpress提供了为永久链接创建htaccess的选项。您可以在下面看到该代码(它可以工作)。
我想要的是一个重写规则,这样,对访问者来说,网站似乎在根目录中。我必须更改重写库,但这不起作用。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wp/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp/index.php [L]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wp/
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp/index.php [L]
</IfModule>
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访问您的网站。好运。
你怎么看:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /wp/index.php [L]
RewriteCond %{REQUEST_URI} !^/wp/.*$
RewriteRule ^(.*)$ /wp/$1 [L]
你重写所有不存在的东西到/wp/index.php,所有非/wp/文件到/wp/等效文件。所以如果你调用index。php实际上是/wp/index。php
对于一个有两个WordPress博客的站点,一个在站点根目录,另一个在子文件夹,即https://example.com/和https://example.com/otherblog/,以下是我所做的
<Directory /data/sites/example.com/otherblog>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /otherblog/index.php [L]
</IfModule>
</Directory>
<Directory /data/sites/example.com>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
</Directory>