apache .htaccess到不同的子文件夹

xeufq47z  于 2023-10-23  发布在  Apache
关注(0)|答案(1)|浏览(140)

我有以下文件夹结构

  1. root
  2. - production
  3. - tool
  4. - wordpress
  5. - subfolder
  6. - subfolder1
  7. - subfolder2

以及一个子域sub.domain.com,其中根文件夹为production
如果我打开子域名sub.domain.com,我希望它重定向到wordpress文件夹,而不更改URL。
当打开sub.domain.com/tool时,它应该重定向到subfolder/subfolder1/subfolder2,而不更改URL。
如果只使用.htaccess文件,这可能吗?现在我在production中有这个:

  1. RewriteCond %{DOCUMENT_ROOT}/wordpress/$1 -f
  2. RewriteRule (.+) wordpress/$1 [L]
  3. RewriteRule .* wordpress/ [L]

这是可行的,但将URL更改为sub.domain.com/wordpress。这在我的tool文件夹,这不工作:

  1. RewriteCond %{DOCUMENT_ROOT}/subfolder/subfolder1/subfolder2/$1 -f
  2. RewriteRule (.+) %{DOCUMENT_ROOT}/subfolder/subfolder1/subfolder2/$1 [L]
  3. RewriteRule .* %{DOCUMENT_ROOT}/subfolder/subfolder1/subfolder2/ [L]

有什么想法吗?

yvfmudvl

yvfmudvl1#

试试这个可能是它的工作..您需要在此处应用的.htaccess规则版本:

根目录.htaccess(生产目录):

  1. RewriteEngine On
  2. # Redirect sub.domain.com to wordpress folder
  3. RewriteCond %{HTTP_HOST} ^sub\.domain\.com$
  4. RewriteCond %{REQUEST_URI} !^/wordpress/
  5. RewriteRule ^(.*)$ wordpress/$1 [L]
  6. # Redirect sub.domain.com/tool to subfolder/subfolder1/subfolder2
  7. RewriteCond %{HTTP_HOST} ^sub\.domain\.com$
  8. RewriteRule ^tool/(.*)$ subfolder/subfolder1/subfolder2/$1 [L]

工具文件夹内.htaccess文件:

  1. RewriteEngine On
  2. # Redirect requests to subfolder/subfolder1/subfolder2
  3. RewriteRule ^(.*)$ /subfolder/subfolder1/subfolder2/$1 [L]

注意:请记住在Apache配置中启用mod_rewrite。这些规则将实现您所描述的URL重定向。

展开查看全部

相关问题