apache .htaccess到不同的子文件夹

xeufq47z  于 12个月前  发布在  Apache
关注(0)|答案(1)|浏览(113)

我有以下文件夹结构

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]

有什么想法吗?

yvfmudvl

yvfmudvl1#

试试这个可能是它的工作..您需要在此处应用的.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重定向。

相关问题