重定向,隐藏文件夹名称并启用具有多个子目录的URL访问

时间:2019-03-02 00:47:18

标签: apache .htaccess

我在域中的多个网站上使用PHP。但是在域中,有几个目录也可以作为网站访问。 www根目录的结构是这样的:


DOMAIN (www root)
|
|---> servicesApi (should accessible)
|
|---> anotherWebFolder (should accessible)
|
|---> webFolder
    |
    |--> subFolder1/subFolder/index.php (domain redirect here "http://mysite")
    |
    |--> subFolder2/subFolder/index.php (domain admin redirect here "http://mysite/admin")

我想要实现的是:

  1. 域(主站点)应转到URL中没有名称“ webFolder / subFolder1 / subFolder”的“ webFolder / subFolder1 / subFolder”。

  2. 子域(http://mysite/admin)应该转到URL名称为“ http://mysite/admin”的“ webFolder / subFolder2 / subFolder”

  3. 我需要可以正常访问其他目录(servicesApi和anotherWebFolder)(http://mysite/servicesApihttp://mysite/anotherWebFolder

我尝试使用www根目录中的.htaccess文件重定向和删除URL中的目录名称,但是无法访问其他目录(servicesApi)。

我已经在www根目录中使用index.php重定向到webFolder> subFolder1> subFolder,但是该文件夹名称在URL中的存在如下:http://localhost/webFolder/subFolder1/subFolder/index.php

有什么建议吗?

========>已编辑<==========我的尝试

到目前为止,我已经在www根目录内容中创建了.htaccess文件,如下所示:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?mysite\.com$ [NC]

RewriteRule !^webFolder/subFolder1/subFolder/ /webFolder/subFolder1/subFolder%{REQUEST_URI} [L,NC]

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

它将www根目录重定向到subFolder目录。但是问题是,显示的URL是stil http://mysite/webFolder/subFolder1/subFolder。而且我也将.htaccess文件放在servicesApi和另一个WebFolder文件夹上以替换URL,并且它可以工作。

0 个答案:

没有答案