Php 3rd/中断restfull.htaccess中的重写

Php 3rd/中断restfull.htaccess中的重写,php,ajax,apache,.htaccess,mod-rewrite,Php,Ajax,Apache,.htaccess,Mod Rewrite,有谁能解释一下为什么会这样: 但这并不是: 对于此位于deploy文件夹中的简单.htaccess: <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ /deploy/ajax/handler.php [QSA,L] </IfModule> 重新启动发动机 重写cond%{REQUEST_FILENAME}-F 重写

有谁能解释一下为什么会这样:

但这并不是:

对于此位于deploy文件夹中的简单.htaccess:

<IfModule mod_rewrite.c>
  RewriteEngine On 

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^ /deploy/ajax/handler.php [QSA,L]
</IfModule>

重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写规则^/deploy/ajax/handler.php[QSA,L]

据我所知,这个规则应该将所有请求从根文件夹/ajax重写到处理程序文件。为什么第一个有效,第二个无效?我怎样才能让它工作呢?在这件事上,谷歌并没有表现出合作精神

也许这对你有用

<IfModule mod_rewrite.c>
  RewriteEngine On 

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ /deploy/ajax/handler.php [QSA,L]
</IfModule>

重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写规则^(.*)$/deploy/ajax/handler.php[QSA,L]

刚刚将“^”更改为“^(.*)$”

很遗憾,没有。旧的仍然有效,但我得到的另一个页面没有找到。您在“/deploy/ajax/”中有任何htaccess文件吗?我建议您将htaccess文件放在“deploy/ajax/”目录中。。然后将“/deploy/ajax/handler.php”更改为“handler.php”,tryIt位于/ajax文件夹中。如果使用^ook它与handler.php一起工作,则必须使用整个url来。。。。哈哈。但它仍然与deploy/ajax/Test/Article相冲突