袁来如此的工作笔记
袁来如此的工作笔记
竹杖芒鞋轻胜马,谁怕? 一蓑烟雨任平生。

Apache RewriteCond RewriteRule 跳转故障解决

浏览量:502

  • 需求:

    • 文件存在直接访问文件,文件不存在跳转到index.html。

    • URL 以 /abc 开头的不跳转。


错误规则

    RewriteCond %{REQUEST_FILENAME} !-f    
    RewriteCond %{REQUEST_URI} !^/abc    
    RewriteRule ^(.*)$ /index\.html123

      结果:无论文件是否存在都会跳转到index.html
      原因: %{REQUEST_FILENAME} 是相对路径,会错误判断文件都不存在。


正确规则:

    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f    
    RewriteCond %{REQUEST_URI} !^/ceis    
    RewriteRule ^(.*)$ /index\.html123

      改动:添加 %{DOCUMENT_ROOT}% 使用绝对路径。


打赏