我的开发人员为我提供了一些我们应用程序工作所需的Apache重写规则。当我将它们添加到Apache时,我的www.domain.com/blog和www.domain.com/phpmyadmin页面不再有效。我试图为我的博客添加第一个RewriteCond规则,也尝试添加最终的phpmyadmin规则,但是没有一个按预期工作。基本上我想要/ blog或/ phpmyadmin的任何请求不要重写并进入我的文档根目录并在重写之外运行这些应用程序。你能帮我找出一个解决方案吗?谢谢需要关于Apache Rewrite问题的帮助
RewriteCond %{REQUEST_URI} !^/blog/
RewriteRule ^/(.*_css.*\.css.*) /$1 [QSA,L]
RewriteRule ^/(.*_js.*\.js.*) /$1 [QSA,L]
RewriteRule ^/(.*_swf.*\.swf.*) /$1 [QSA,L]
RewriteRule ^/(.*_img.*\.[jpg|JPG|jpeg|JPEG|gif|GIF|bmp|BMP|png|PNG].*) /$1 [QSA,L]
RewriteRule ^/(.*)$ /index.php?url=$1 [QSA,L]
RewriteRule ^/phpmyadmin(.*)$ /phpmyadmin$1 [QSA,L]
</VirtualHost>
他们位于www.domain.com/blog和www.domain.com/phpmyadmin。
的Apache 2.2.13
谢谢!
谢谢戴夫,第一个和最后一个重写规则是我正在改变的规则,其他规则是我们的应用程序使用的。我有一个博客和phpmyadmin目录关闭文档根目录。我不希望这些在任何地方被重写。当有人点击www.domain.com/blog或phpmyadmin我希望这些应用程序正常工作,而不是重写。目前它们属于重写规则之一,不起作用。谢谢 – roacha 2009-12-15 15:05:57
Dave我用更多的细节更新了我最初的问题,我希望解释我正在努力完成的事情。谢谢! – roacha 2009-12-15 15:30:40
因此,对于初学者,您需要将phpMyAdmin规则移到其他规则之上,因为像Dave说的那样,它的右上方匹配了所有内容,因此系统永远不会查看您当前写入的phpMyAdmin规则。 – rhodesjason 2009-12-15 15:33:40