0

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

例子:

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]
4

1 回答 1

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);
于 2012-10-25T01:39:23.177 回答