htaccess全局重写子目录

时间:2014-08-18 20:20:29

标签: php apache .htaccess mod-rewrite

假设我有以下结构:

/api1
    /v1
/api2
    /v1
    /v2

是否可以在根目录(.htaccess)中有一个/文件,该文件会重写从/api1/v1/*/api1/v1/index.php的所有请求(每个api /版本组合都相同) )处理它们?

它应该以这样的方式表现:

  • /api1/v1/users -> /api1/v1/index.php
  • /api1/v1/users/action/paramater -> /api1/v1/index.php
  • /api2/v1/projects/popular -> /api2/v1/index.php
  • /api2/v2/projects/most_popular -> /api2/v2/index.php

1 个答案:

答案 0 :(得分:1)

您可以在DOCUMENT_ROOT/.htaccess文件中使用此代码:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(api[0-9]+/v[0-9]+)/(?!index\.php).*$ $1/index.php [L,NC]