.htaccess将所有子目录重定向到文件

时间:2012-10-25 01:28:56

标签: .htaccess

我一直在尝试找到一种方法,将除少数几个目录之外的所有目录重定向到带有变量的文件

示例:

site.com/test -> index.php?a=test

我希望转发所有子目录,但以下

除外
/images
/admin
/includes

我已经尝试了以下努力。

RewriteCond %{REQUEST_URI} !^/images(/|$)
RewriteCond %{REQUEST_URI} !^/admin(/|$)
RewriteCond %{REQUEST_URI} !^/includes(/|$)
RewriteRule ^([\w/]*)$ index.php/?a=$1 [L]

有没有办法使用.htaccess

完成此操作

编辑:

我发现这更接近我正在寻找的东西,但需要更新以允许访问/ images / admin / includes。

Options +FollowSymLinks -MultiViews
RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php?a=$1  [NC,L,R=301]

1 个答案:

答案 0 :(得分:0)

在.htaccess中,您可以使用此规则

RewriteEngine On
RewriteRule !\.(js|jpeg|ico|gif|jpg|png|css|xml|html|swf|zip|tar|pdf|flv|gz|wmv|avi|rar|mp3)$ index.php [L]

在您的应用程序中,您可以获得 $ _ SERVER [“REQUEST_URI”] 并按照您的操作进行操作!

<?php
$route = explode('/', $_SERVER['REQUEST_URI']);
print_r($route);