Apache htaccess重写到站点不同文件夹中的同名文件

Apache htaccess重写到站点不同文件夹中的同名文件,apache,.htaccess,mod-rewrite,rewrite,Apache,.htaccess,Mod Rewrite,Rewrite,我试着搜索了很多,但没有成功。我真希望有人能帮我解决这个问题 好的,我的网站是这样的: /rewrite.php /folder1/rewrite.php /folder2/rewrite.php /folder1/subfolder1/rewrite.php /folder1/subfolder2/rewrite.php 等等 简言之,在每个文件夹中都存在一个rewrite.php(admin access文件夹除外) 因此,基本上,我想重写到相应目录中的rewrite.php文件,但我不能

我试着搜索了很多,但没有成功。我真希望有人能帮我解决这个问题

好的,我的网站是这样的:

/rewrite.php
/folder1/rewrite.php
/folder2/rewrite.php
/folder1/subfolder1/rewrite.php
/folder1/subfolder2/rewrite.php
等等

简言之,在每个文件夹中都存在一个rewrite.php(admin access文件夹除外)

因此,基本上,我想重写到相应目录中的rewrite.php文件,但我不能这样做

就是

如果我要求

/News
然后应将其改写为:

/rewrite.php
/folder1/rewrite.php
如果我要求:

/folder1/News
然后应将其改写为:

/rewrite.php
/folder1/rewrite.php
等等,用于其他文件夹

目前,我的htaccess中有以下内容:

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . rewrite.php [L,NC]
在某个地方,我读到如果我删除RewriteBase,那么它将使用当前目录作为RewriteBase。但它失败了,不起作用

此外,我希望将一些文件夹保留在例外情况下(其中应禁用重写),如:

我希望有一个可行的解决方案,如果有人能帮助我……:)

致以最良好的祝愿

安库尔·塔库尔

试试:

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/(administration|config|rewrite.php)
RewriteRule ^(.*?)(/?[^/]+)$ $1/rewrite.php [L]
尝试:


好极了这正是我想做的。。。非常感谢……:)好啊这在我的Wamp本地主机上运行得很好,但当我尝试在web服务器上运行此实时操作时,它给了我一个问题。当我浏览我的网站,在根目录中打开一个URL,比如说,/news,它会给我404:notfound请求的URL/rewrite.php在此服务器上找不到。但是,当我打开子文件夹中的URL时,比如说/sub2/news,它会很好地打开它。所以我把$1/rewrite.php改为$1rewrite.php。然后,它倒过来了。它适用于根URL,但不适用于/sub2/news。它将重定向URL显示为**/sub2rewrite.php**(缺少斜杠),谢谢&plz帮助。@AnkurThakur它正在做你想做的事情。在你的问题中,你说当请求是
/news
时,然后将其重写为
/rewrite.php
。在您的live server案例中,似乎不存在
/rewrite.php
。没关系。。。但我做了一个小小的改变,让它发挥了作用;)将其更改为:(我想我已将“/”设置为可选)^(.*?(/?)([^/]+)$$1$2rewrite.php非常感谢您的帮助……)好极了这正是我想做的。。。非常感谢……:)好啊这在我的Wamp本地主机上运行得很好,但当我尝试在web服务器上运行此实时操作时,它给了我一个问题。当我浏览我的网站,在根目录中打开一个URL,比如说,/news,它会给我404:notfound请求的URL/rewrite.php在此服务器上找不到。但是,当我打开子文件夹中的URL时,比如说/sub2/news,它会很好地打开它。所以我把$1/rewrite.php改为$1rewrite.php。然后,它倒过来了。它适用于根URL,但不适用于/sub2/news。它将重定向URL显示为**/sub2rewrite.php**(缺少斜杠),谢谢&plz帮助。@AnkurThakur它正在做你想做的事情。在你的问题中,你说当请求是
/news
时,然后将其重写为
/rewrite.php
。在您的live server案例中,似乎不存在
/rewrite.php
。没关系。。。但我做了一个小小的改变,让它发挥了作用;)将其更改为:(我想我已将“/”设置为可选)^(.*?(/?)([^/]+)$$1$2rewrite.php非常感谢您的帮助……)