代码之家  ›  专栏  ›  技术社区  ›  user64718

重写秒和重写新手

  •  1
  • user64718  · 技术社区  · 14 年前

    我正在接管一个客户机的网站,这个客户机运行在一个定制的CMS上(我没有写)。我通常不会处理.htaccess文件,因为我做的很多主机都是在IIS上,或者我使用WordPress作为CMS,不必担心处理.htaccess文件。文件内容如下:

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

    我知道它在做什么(通过framework.php文件发送所有请求)。客户希望在他们的网站上添加一个WordPress博客。我把它放在一个/博客/文件夹中。问题是,由于.htaccess文件中的重写规则和条件,每当我尝试访问/blog/其他CMS时,都会被吓坏,因为它不喜欢我尝试访问。我的问题是,如何编写一个规则/cond,告诉Apache将所有发送到/blog/文件夹的请求发送到/blog/文件夹,但保持所有其他请求像现在一样通过framework.php文件传输?感谢您的帮助,谢谢!

    1 回复  |  直到 14 年前
        1
  •  1
  •   zombat    14 年前

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

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

    博客 链接不会被发送到framework.php,通常应该从/blog目录提供服务。该目录中的wordpress.htaccess文件将像往常一样被调用,并且应该能够处理来自该目录的wordpress链接。