我有一个wordpress网站安装在 "wp "目录下。我想把它保存在那个文件夹里,以便维护。Wordpress提供了为permalinks创建一个htaccess的选项。你可以看到下面的代码(它的工作)。
我想要的是一个rewriteerule,所以--对访问者来说--网站看起来是在根目录下。我已经改变了rewritebase,但没有工作。
<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.comwp。 b) 网站地址-> http:/mydomain.com
2) 将index.php从子目录移到根目录(MOVE, 不要只是复制)
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]
你把所有不存在的东西都重写成wpindex.php,所有非wp文件都重写成wp对应的文件。所以,如果你调用index.php,其实就是wpindex.php。
对于一个有两个WordPress博客的网站,一个在网站根目录,一个在子文件夹,即 https:/example.com)。 和 https:/example.comotherblog我是这样做的
<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>