我无法让我的mod_rewrite工作。以令人沮丧的方式,它在我的开发模式下工作,在http://htaccess.madewithlove.be/它工作得很好。
我确保在我的服务器上启用了mod_rewrite。
我要做的是拥有以下网址
a. http://www.site.net/chat/
b. 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包含在聊天子文件夹中,虽然在输入这个问题时进行了快速测试,但当我将它放在根目录中时它的行为似乎有所不同(尽管也不在那里工作)。 .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测试器(上面的链接)上运行代码时
http://www.site.net/chat/groups.php?test
结果完全符合我的要求:
http://www.site.net/chat/www/page_loader.php/groups.php?test
页面加载器只是一个脚本,我在加载所需脚本之前自动运行以包含常用定义等。这是我从我工作的另一个网站带来的系统。
即使我将所有与页面加载器有关的内容,第一部分甚至不会根据需要附加/ www /。
我在这里不知所措。我怎样才能得到理想的结果?谢谢。
答案 0 :(得分:0)
将其放在/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]