我有一个顶级域,其中有一个表单,当我提交表单时,我会收到找不到它的错误(它在错误的地方寻找它。(
索引的原始位置在这里: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文件。