我遇到一个问题,如果我将此 .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 扩展是不可见的。
感谢您的阅读
最佳答案
在 RewriteBase
行下方插入此行,以忽略 POST 请求的重写规则:
RewriteCond %{REQUEST_METHOD} POST
RewriteRule ^ - [L]
关于php - Mail.php 不适用于 .htaccess,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25185340/