.htaccess mod只能用某个域重写

时间:2013-10-16 05:09:56

标签: .htaccess mod-rewrite

我有一个网站www.website.com和一些重定向到此网站的域名。这是一个蒙面重定向,所以如果我写www.domain.com,我可以一直在浏览器中看到这个网址,但它实际上已重定向到subdomain.website.com我想做的是做一些.htaccess重写规则,以便将具有域domain.com的所有内容重新写入服务器上的本地文件,该文件位于当前文件夹之外。让我在这里解释文件夹结构:

/
sub/
-- subdomain/
-- test/
---- index.html
web/

目前,www.domain.com的所有内容都转到/sub/subdomain。在htaccess中的。/sub/subdomain文件中,我想将请求重新路由到/sub/test/index.html。因此,在.htaccess文件夹中的sub/subdomain文件中,我尝试过这样做:

#start masked redirect
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
#RewriteBase /

RewriteCond %{HTTP_HOST} domain\.com$ [NC]
RewriteRule .. /test/index.html [L]
#end masked redirect 


# 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上做了所有这些,我真的不相信,但只是为了确保我发布它。

不幸的是,我得到Internal Server Error 500

我做错了什么,拜托?

另外:请不要问我为什么这样做,它有一个原因,我没有发现我正在尝试做的所有事情,因为它与这个问题无关,我真的想要这里关注这个问题。我只是想知道如何修复我的.htaccess,它必须是这样的。谢谢你的理解。

1 个答案:

答案 0 :(得分:0)

这应该在sub/subdomain/.htaccess档案

Options +FollowSymLinks -MultiViews
RewriteEngine On

RewriteCond %{HTTP_HOST} ^subdomain\. [NC]
RewriteRule !^test/index\.html$ /test/index.html [L,NC]

# 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