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

这个mod rewrite做什么?

  •  0
  • Brett  · 技术社区  · 14 年前

    有人能告诉我这是干什么的吗?

    RewriteRule .* .main.php [QSA,L]
    

    据我所知,它会将任何内容重写为main.php,对吗?但我不太确定QSA是怎么做的。

    这是整个.htaccess文件,当我点击主目录时,会收到一个400错误的请求错误。 编辑: 当我在浏览器中将结束斜杠添加到此脚本的根目录时,错误的请求消失了。

    RewriteEngine On
    
    
    # Transfering to the main tranfer file
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteCond %{REQUEST_FILENAME} !\.css$
    RewriteCond %{REQUEST_FILENAME} !\.js$
    
    RewriteRule .* .main.php [QSA,L]
    
    # nobody is allowed to access the access the  INI file
    
    <FilesMatch "\.inc.php$">
        Order allow,deny
        Deny from all
    </FilesMatch>
    
    1 回复  |  直到 12 年前
        1
  •  0
  •   Jason McCreary    14 年前

    qsa=查询字符串追加:将现有查询字符串追加到重新写入的规则中

    L=最后一条规则:集合的最后一条规则,不处理任何后续规则 RewriteRule

    退房 documentation 更多。

    你有一个叫 .main.php ?点前缀让我担心。您的规则读取到除非请求是一个存在的符号链接,或者它有一个CSS或JS扩展名 MI. PHP