【发布时间】:2014-09-30 20:40:42
【问题描述】:
如果我将这个 .htaccess 代码放入其中,我的电子邮件 php 文件将无法正常工作
## Prevent directory listings
Options All -Indexes
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L,NC]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [L]
将带有表单的html文件发送到php文件的功能不起作用。 该表单与 post 一起使用,然后在我拥有的 php 文件中使用。
<?php
if(!isset($_POST["submit"]))
{
echo "error; you need to submit the form!";
}
$name = $_POST["name"];
$visitor_email = $_POST["visitor_email"];
$message = $_POST["message"];
此代码不再有效。因为用 .htaccess 重写了 url,所以我访问了它,
- 我该如何解决这个问题,以便我的 php 脚本可以运行
- 并且文件目录被保护不被查看
- 而且 php 扩展是不可见的。
感谢阅读
【问题讨论】:
-
“不工作”是什么意思?您正在通过
_POST发送数据,因此 url 中没有参数。你能通过 url 访问这个文件吗? -
%{REQUEST_FILENAME} 没有文件扩展名吗?
-
当我从根目录中删除我的 htaccess 时,我可以使用邮件文件,但是当我将它放入代码时不起作用。
-
我不擅长使用 htaccess,所以很抱歉我不知道这些 insanebits
-
在我自己的系统上试用过,按预期工作
标签: php regex apache .htaccess mod-rewrite