htaccess将文件夹的所有流量重定向到其他,并将名称包含为标题

时间:2016-03-01 15:26:39

标签: php apache .htaccess redirect mod-rewrite

我想更改我的网络应用的文件夹结构,

目前的结构是

/websites
    .subdomain1
      .index.html
      .app
        .htaccess
        index.php

DNS: http://subdomain1.website.com/ - >指向subdomain1的文件夹

现在在当前结构中php位于同一个文件夹中,我想将其移出,问题是我需要将所有请求重定向到不是要重定向的文件的旧目录,并在头文件中包含子域。

实施例 当前API ENDPOINT

http://subdomain1.website.com/app/token

我想要这个请求而不是去/subdomain1/app/index.php,我希望它转到 /api/index.php 并包含'subdomain1'作为标题。

这样我的文件夹结构就会变成

/website
  .subdomain1
    .index.html
/api
  index.php

并且所有转到旧/ app文件夹的流量都会重定向到以subdomain为标题的新文件夹。

目前的htaccess

Options -MultiViews -Indexes
SetOutputFilter DEFLATE
DirectoryIndex index.php

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^$ index.php [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]
</ifModule>

1 个答案:

答案 0 :(得分:1)

将您当前的.htaccess更改为:

Options -MultiViews -Indexes
SetOutputFilter DEFLATE
DirectoryIndex index.php

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ /api/index.php [L]