2

我现在正在做一个 cms,现在我正在为 ajax 实现而苦苦挣扎

除了 mod_rewrite 问题,我什么都在运行..

RewriteEngine On
RewriteRule \.html index.php [L]

除了 html 文件之外,这不会将任何内容重定向到 index.php

我需要第二条规则来检查 REQUEST_URI 的参数,以防止 ajax 加载整个站点。

我不认为这是可以理解的,所以我只是发布我想要实现的目标^^

RewriteEngine On
RewriteCond %{REQUEST_URI} !(?rewrite=no$)
RewriteRule \.html index.php [L]

除了 html 文件之外,我不希望任何重定向,并且在 url 上也不要重定向,最后使用 "(.html)?rewrite=no"

希望有人可以帮助我,因为重写和正则表达式不是我最擅长的东西

提前致谢

4

1 回答 1

3

来自Apache 文档

REQUEST_URI 请求的 URI 的路径组件,例如“/index.html”。这特别排除了作为其自己的变量 QUERY_STRING 可用的查询字符串。

所以你实际上是在寻找匹配%{QUERY_STRING}而不是%{REQUEST_URI}. 匹配条件时不要?在查询字符串中包含 :

RewriteEngine On
# Match the absence of rewrite=no in the query string
RewriteCond %{QUERY_STRING} !rewrite=no [NC]
# Then rewrite .html into index.php
RewriteRule \.html index.php [L]
于 2013-09-02T21:30:29.953 回答