我有以下文件夹结构
root
- production
- tool
- wordpress
- subfolder
- subfolder1
- subfolder2
还有一个子域
sub.domain.com
,根文件夹是 production
。
如果我打开子域
sub.domain.com
我希望它重定向到 wordpress
文件夹而不更改 URL。
打开
sub.domain.com/tool
时,它应该重定向到 subfolder/subfolder1/subfolder2
,而不更改 URL。
仅使用
.htaccess
文件可以吗?
现在我有这个 production
:
RewriteCond %{DOCUMENT_ROOT}/wordpress/$1 -f
RewriteRule (.+) wordpress/$1 [L]
RewriteRule .* wordpress/ [L]
这可行,但将 URL 更改为
sub.domain.com/wordpress
。
这在我的 tool
文件夹中,不起作用:
RewriteCond %{DOCUMENT_ROOT}/subfolder/subfolder1/subfolder2/$1 -f
RewriteRule (.+) %{DOCUMENT_ROOT}/subfolder/subfolder1/subfolder2/$1 [L]
RewriteRule .* %{DOCUMENT_ROOT}/subfolder/subfolder1/subfolder2/ [L]
有什么想法吗?
试试这个也许有用.. 您需要在此处应用的
.htaccess
规则版本:
在根目录
.htaccess
(生产文件夹内):
RewriteEngine On
# Redirect sub.domain.com to wordpress folder
RewriteCond %{HTTP_HOST} ^sub\.domain\.com$
RewriteCond %{REQUEST_URI} !^/wordpress/
RewriteRule ^(.*)$ wordpress/$1 [L]
# Redirect sub.domain.com/tool to subfolder/subfolder1/subfolder2
RewriteCond %{HTTP_HOST} ^sub\.domain\.com$
RewriteRule ^tool/(.*)$ subfolder/subfolder1/subfolder2/$1 [L]
工具文件夹内的.htaccess文件中:
RewriteEngine On
# Redirect requests to subfolder/subfolder1/subfolder2
RewriteRule ^(.*)$ /subfolder/subfolder1/subfolder2/$1 [L]
注意:请记住在 Apache 配置中启用
mod_rewrite
。这些规则将实现您所描述的 URL 重定向。
#阿帕奇时代