Apache 将整个子文件夹重定向到处理程序

Apache 将整个子文件夹重定向到处理程序,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我有一个文件夹,它位于www目录的子文件夹中 像 www/somesub 在那里,我放置了一个htaccess文件,其中包含以下重写规则: RewriteEngine on RewriteRule ^ajax/(.+?)/(\w+)/(\w+?)$ /ajax/handler.php?any=$1&idea=$2&lol=$3 [L] 这应该将所有调用从其子目录ajax重定向到位于。。。可悲的是,这不管用。。。有人知道为什么吗 例如: 从 到 有什么建议吗?不确定您

我有一个文件夹,它位于www目录的子文件夹中

www/somesub

在那里,我放置了一个htaccess文件,其中包含以下重写规则:

RewriteEngine on
      RewriteRule ^ajax/(.+?)/(\w+)/(\w+?)$ /ajax/handler.php?any=$1&idea=$2&lol=$3 [L]
这应该将所有调用从其子目录ajax重定向到位于。。。可悲的是,这不管用。。。有人知道为什么吗

例如: 从


有什么建议吗?

不确定您的代码为什么不起作用,但您可以在
somesub
目录下的.htaccess文件中尝试此建议:

Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_URI}  ^/(.+)/ajax/([^/]+)/([^/]+)/([^/]+)/? [NC]
RewriteRule .*     /%1/ajax/handler.php?any=%2&idea=%3&lol=%4        [L,NC]

没有前导插入符号行得通吗?你是说没有^,不行。我知道你没有试过。这该死的东西坏了。我检查了一下“重写”是否打开。。。它在……上。。。。而且它是Grumpy ~~重写日志启用的?它说了什么吗?降低了这个级别?您看到的是什么而不是预期的结果:500或404?当我键入链接时,我看到来自服务器的404响应,日志已启用。我现在就读。我们不工作,不知道这是怎么回事。这是未被掩盖的原始链接。原始链接是:/catd/sc/epr/ajax/ArticleSearch/SearchEngine/GetInitialDataYes,这完全不同。像这样
http://example.com/catd/sc/epr/ajax/ArticleSearch/SearchEngine/GetInitialData
?替换URL是什么,请使用相同的URL结构发布一个示例。无论如何都修改了我的答案。只要
handler.php
位于
ajax
目录,整个链接就是当前答案。请确保在进行任何测试之前清除浏览器的缓存。
domain/somesub/ajax/handler?any=some&idea=notsoawsome&lol=code
Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_URI}  ^/(.+)/ajax/([^/]+)/([^/]+)/([^/]+)/? [NC]
RewriteRule .*     /%1/ajax/handler.php?any=%2&idea=%3&lol=%4        [L,NC]