从主页表单提交重定向时出现.htaccess规则错误


.htaccess rule error for redirecting from a homepage form submit

我有一个顶级域,其中有一个表单,当我提交表单时,我会收到找不到它的错误(它在错误的地方寻找它。(

索引的原始位置在这里:www.tld.com/tld/src/index.html将表单处理到DB中的php文件如下:www.tld.com/tld/lib/phpfile.php我使用.htaccess规则将我的主页发送到www.tld.com:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/tld/src/
RewriteRule ^(.*) /tld/src/$1 [L]

显然,重定向是一个错误:The requested URL /tld/src/lib/phpfile.php was not found on this server.,因为文件存在于www.tld.com/tld/lib/phpfile.php

除上述设置外,我当前和唯一的设置是:

Options All -Indexes

 <Files .htaccess>
  deny from all  
 </Files>

就是这样。

我是.htaccess apache规则集的新手,不知道如何解决这个问题。非常感谢。

您可以调整您的异常条件:

RewriteEngine On
RewriteBase /tld/
RewriteCond %{REQUEST_URI} !/(src|lib)/ [NC]
RewriteRule ^(.*) src/$1 [L]

以上条件将跳过任何以/tld/lib//tld/src/开头的请求,从而允许您的表单路由到/tld/lib/目录中的正确php文件。