仅重写root而不重定向不起作用

时间:2016-01-22 13:58:25

标签: apache .htaccess mod-rewrite redirect url-rewriting

我遇到一个问题,我无法只重写root to file。例如example.com到example.com/landing-page/mypage.html但保留所有其他地址,例如example.com/something/。

目前出于测试目的,我设法重定向/测试/我的.htaccess看起来像这样:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/test/.*$
RewriteRule . /wp-content/themes/mytheme/landing_page.html [L]

# 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

但现在如果我尝试仅重定向root并用

替换RewriteCond
RewriteCond %{REQUEST_URI} ^/$

它不起作用,它加载我的Wordpress网站。

更新:
我在另一台服务器上使用简单的规则RewriteRule ^/?$ /mypage/landing-page.html [L]进行了测试,同时保留了WordPress线路并且它在那里工作,但是相同的线路在这台服务器上不起作用。所以现在问题出现了什么服务器设置可能阻止这个简单的规则。

1 个答案:

答案 0 :(得分:0)

在第二个示例中,您似乎忘了打开RewriteEngine。

RewriteEngine On
RewriteRule ^$ /landing-page/mypage.html [NC,L]