我的根目录中有一个page1.html形式的静态页面,而根目录中有另一个页面index.php。我想要做的是将所有旧的传入链接移动到指向wordpress目录。我通过.htaccess和我从托管服务提供商帮助网站找到的index.php获得了主域名重定向(即abc.com现在正确地重定向到我的wordpress安装文件夹)。
我现在遇到的问题是,任何直接链接或索引的页面仍然会显示出来。例如,abc.com/page1.html仍然可见。我尝试使用以下.htaccess代码重定向到新网站:
redirect 301 /page1.html abc.com/index.php
上面的代码应该是正确的,因为我的index.php加载wordpress数据(用于正确工作的abc.com重定向的方法相同),但由于某种原因,重定向没有发生。
这是我的.htaccess文件的总体布局。
# BEGIN WordPress redirect
# This part is for the abc.com -> wordpress folder redirect.
# Code taken strait from my hosting provider's help tutorial.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /WordpressInstallation/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /WordpressInstallation/index.php [L]
</IfModule>
# Problem code below
# Static page redirects
redirect 301 /page1.html /index.php
redirect 301 /page2.html /index.php
.
.
.
关于我做错了什么或者如何实现我想要的结果的任何想法?
编辑:
它可能不是必需的信息,但page1.html,page2.html等文件位于根目录中,带有.htaccess文件,而wordpress安装位于根目录中名为wordpressInstallation的文件夹中。我只是想我会澄清,如果问题没有说清楚。
/
---wordpressInstallation
------Wordpress files (head.php, index.php, style.css etc.)
---page1.html
---page2.html
.
.
.
---index.php
---.htaccess
.
.
.
答案 0 :(得分:2)
mod_rewrite
规则和mod_alias
规则。使用此DocumentRoot/.htaccess
( wordpress目录上方一级):
RewriteEngine On
RewriteRule ^(page1|page2)\.html?$ /wordpressInstallation/ [L,NC,R=301]
从Wordpress .htaccess中删除Redirect
指令。