Php htaccess将文件夹的所有通信重定向到其他文件夹,并将名称作为标题

Php htaccess将文件夹的所有通信重定向到其他文件夹,并将名称作为标题,php,apache,.htaccess,redirect,mod-rewrite,Php,Apache,.htaccess,Redirect,Mod Rewrite,我想更改我的web应用的文件夹结构 目前的结构是 /websites .subdomain1 .index.html .app .htaccess index.php 域名系统: ->指向子域1的文件夹 现在在当前的结构中,php位于同一个文件夹中,我想将其移出,问题是我需要将所有请求重定向到旧目录,该目录不是要重定向的文件,并且在标题中包含子域 范例 当前API端点 http://subdomain1.website.com/a

我想更改我的web应用的文件夹结构

目前的结构是

/websites
    .subdomain1
      .index.html
      .app
        .htaccess
        index.php
域名系统: ->指向子域1的文件夹

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

范例 当前API端点

http://subdomain1.website.com/app/token
我希望该请求不是转到/subdomain1/app/index.php,而是转到/api/index.php,并将“subdomain1”作为标题

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

/website
  .subdomain1
    .index.html
/api
  index.php
所有到旧/app文件夹的流量都被重定向到以子域为标题的新文件夹

当前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>
选项-多视图-索引
SetOutputFilter放气
DirectoryIndex.php
重新启动发动机
重写规则^$index.php[QSA,L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)$index.php[QSA,L]

更改您当前的.htaccess访问权限:

Options -MultiViews -Indexes
SetOutputFilter DEFLATE
DirectoryIndex index.php

RewriteEngine On

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

这个.htaccess在哪里?此外,我在您的目录结构中没有看到
api
文件夹它在应用程序文件夹中,我想在根目录下创建它,并将所有流量重定向到它。@anubhava我编辑了这个问题以澄清问题。谢谢,我可以包括像“../”这样的盟友吗?因为新的index.php位于.././v1/api/index.php,这样行吗?是的,您可以在这里使用
。/
,或者在目标中使用完整路径,如
/path/to/v1/api/index.php