我有一个顶级域名,其中包含一个表单,当我提交表单时,我收到错误,表示找不到它(它在错误的地方寻找它。)
索引的原始位置位于: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规则集的新手,我不知道如何解决这个问题。谢谢。
答案 0 :(得分:1)
您可以调整异常情况:
RewriteEngine On
RewriteBase /tld/
RewriteCond %{REQUEST_URI} !/(src|lib)/ [NC]
RewriteRule ^(.*) src/$1 [L]
以上条件将跳过以/tld/lib/
或/tld/src/
开头的任何请求,从而允许您的表单路由到/tld/lib/
目录中的正确php文件。