Apache 将子目录中的mod_重写为子目录

Apache 将子目录中的mod_重写为子目录,apache,.htaccess,mod-rewrite,redirect,Apache,.htaccess,Mod Rewrite,Redirect,我的mod_重写无法正常工作。以一种令人沮丧的方式,它在我的开发模式下工作,而且工作得很好 我已经确保在我的服务器上启用了mod_rewrite 我正在尝试做的是拥有以下URL a. http://www.site.net/chat/ b. http://www.site.net/chat/groups.php?test http://www.site.net/chat/groups.php?test 无形地重定向到 a. http://www.site.net/chat/www/page_

我的mod_重写无法正常工作。以一种令人沮丧的方式,它在我的开发模式下工作,而且工作得很好

我已经确保在我的服务器上启用了mod_rewrite

我正在尝试做的是拥有以下URL

a. http://www.site.net/chat/
b. http://www.site.net/chat/groups.php?test
http://www.site.net/chat/groups.php?test
无形地重定向到

a. http://www.site.net/chat/www/page_loader.php/
b. http://www.site.net/chat/www/page_loader.php/groups.php?test
www子目录包含用于聊天的所有文件。htaccess包含在chat子文件夹中,虽然在键入此问题时有一个快速测试,但当我将其放在根目录中时,它的行为似乎有所不同(尽管在那里也不起作用)。.htacess文件如下所示:

RewriteEngine On
RewriteBase /

#place everything in the www directory
RewriteCond %{REQUEST_URI} !^.*/chat/www/.*$
RewriteRule ^.*chat/(.*)$ chat/www/$1

#send everything through the page loader
RewriteCond %{REQUEST_URI} !\.(gif|jpg|png|swf|css|html|js|ico|pdf)$
RewriteCond %{REQUEST_URI} !^/chat/www/page_loader.php$
RewriteCond %{REQUEST_URI} !^/chat/www/page_loader.php/
RewriteRule ^.*chat/www/(.*)$ chat/www/page_loader.php/$1?%{QUERY_STRING} [L]
当我使用以下URL在htaccess测试仪(上面的链接)上运行代码时

a. http://www.site.net/chat/
b. http://www.site.net/chat/groups.php?test
http://www.site.net/chat/groups.php?test
结果正是我想要的:

http://www.site.net/chat/www/page_loader.php/groups.php?test
页面加载器只是一个脚本,在加载所需的脚本之前,我会自动运行该脚本以包含公共定义等。这是一个我从另一个我工作的站点带来的系统

即使我把所有与pageloader有关的内容都去掉了,第一节甚至没有根据需要附加/www/


我在这里不知所措。我怎样才能得到想要的结果?谢谢。

将其放入
/chat/.htaccess
文件:

RewriteEngine On
RewriteBase /chat/

RewriteRule ^/?$ www/page_loader.php/ [L]

RewriteCond %{REQUEST_URI} !\.(gif|jpe?g|png|swf|css|html|js|ico|pdf)$ [NC]
RewriteRule ^((?!www/page_loader\.php).+)$ www/page_loader.php/$1 [L,NC]

谢谢你的回复阿努巴瓦。不幸的是,这也不起作用。您使用了什么URL来测试它?您的.htaccess的位置是什么?我将htaccess放在聊天子文件夹(/chat/.htacess)中,该文件夹比根目录低一级。然后我使用url来测试它。结果和以前一样。