RewriteCond和RewriteRule新手

时间:2010-04-06 19:16:42

标签: .htaccess mod-rewrite

我正在接管一个运行在自定义CMS上的客户端的网站(我没有写)。我不会乱用.htaccess文件通常是因为我做的很多托管是在IIS上,或者我使用WordPress作为CMS而不必担心弄乱.htaccess文件。这是文件的内容:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ framework.php?%{QUERY_STRING}&resource=$1& [L]

我得到它正在做的事情(通过framework.php文件发送所有请求)。客户希望将WordPress博客添加到他们的网站。我将它放在/ blog /文件夹中。问题是因为.htaccess文件中的重写规则和条件,每当我尝试去/博客/其他CMS吓坏了因为它不喜欢我试图去那里。我的问题是如何编写一个规则/ cond,告诉apache将对/ blog /文件夹发出的所有请求发送到/ blog /文件夹,但保留所有其他请求通过现在的framework.php文件传输?感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:1)

您应该能够通过在主规则中添加/blog来告诉主.htaccess文件忽略任何RewriteCond链接:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/blog(/?)
RewriteRule ^(.*)$ framework.php?%{QUERY_STRING}&resource=$1& [L]

/blog链接不会发送到framework.php,并且应该正常从/ blog目录提供。该目录中的Wordpress .htaccess文件将像往常一样被调用,并且应该能够从那里处理Wordpress链接。