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

时间:2016-09-10 08:39:52

标签: php apache .htaccess redirect mod-rewrite

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

索引的原始位置位于:www.tld.com/tld/src/index.html 将表单处理到数据库中的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规则集的新手,我不知道如何解决这个问题。谢谢。

1 个答案:

答案 0 :(得分:1)

您可以调整异常情况:

RewriteEngine On
RewriteBase /tld/

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

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