0

我有这个结构

/
/-log
/-shop
/-wwwroot
/--shop
/--shop/-index.html
/--wp-content
/-- and so on

我想将浏览到 shop.mysite.com 的每个访问者重定向到 /--shop/-index.html 文件 (shop.mysite.com/index.html)。就像现在一样,他们将来到“正常”页面 mysite.com。

我有正确的通配符集。

我的 .htaccess 看起来像这样(普通的 Wordpress)。

# 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

我该如何解决这个问题?

4

1 回答 1

0

您需要在此之后立即添加RewriteBase /

RewriteCond %{HTTP_HOST} ^shop.mysite.com$ [NC]
RewriteRule ^$ /shop/index.html [L]

这只会使http://shop.mysite.com/为 shop/index.html 上的文件提供服务,如果要将所有请求重定向到 shop.mysite.com 主机,则需要制作一个正则表达式并指向它到 /shop 中的文件。


是这里应该使用的正则表达式吗?那应该怎么看?

您可以在上述规则下方添加:

RewriteCond %{HTTP_HOST} ^shop.mysite.com$ [NC]
RewriteCond %{REQUEST_URI} !^/shop/
RewriteRule ^(.*)$ /shop/$1 [L]
于 2012-07-03T04:45:06.457 回答