删除url中的.php文件扩展名会破坏页面上的php

删除url中的.php文件扩展名会破坏页面上的php,php,.htaccess,Php,.htaccess,我有一个网站,我使用这个.htaccess从我的链接中删除.php文件扩展名 RewriteEngine On # Unless directory, remove trailing slash RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)/$ http://%{HTTP_HOST}/$1 [R=301,L] # Redirect external .php requests to extensionless url Rew

我有一个网站,我使用这个.htaccess从我的链接中删除.php文件扩展名

RewriteEngine On

# Unless directory, remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/$ http://%{HTTP_HOST}/$1 [R=301,L]

# Redirect external .php requests to extensionless url
RewriteCond %{THE_REQUEST} ^(.+)\.php([#?][^\ ]*)?\ HTTP/
RewriteRule ^(.+)\.php$ http://%{HTTP_HOST}/$1 [R=301,L]

# Resolve .php file for extensionless php urls
RewriteRule ^([^/.]+)$ $1.php [L]
现在这很好,但是页面中的所有php都停止工作。这可能是什么原因造成的?我怎样才能修好它

例如,我在网站上有一个联系表格,显示的很好。但在删除扩展名时不起作用,因为联系人表单的PHP与html标记位于同一文件中。现在,当我尝试发送一封已删除扩展名的邮件时,该邮件不会发送,并且无论邮件是否已发送,我都不会收到任何通知。但是当扩展存在时,一切都会完美地工作


还有,奇怪的是。它仍然包括诸如页眉和页脚之类的内容,我通过PHP调用了它们。

Define'stops working'?您可能需要告诉apache使用DefaultType application/x-httpd-PHP将无扩展文件解析为PHP。从@rahul posted链接中可以看到这个答案:调用'DefaultType application/x-httpd-php'不起作用。此外,我所说的停止工作是指在我的一个页面上有一个联系表单。但是,当它被使用时,它不会发送电子邮件,也不会发出有关消息是否已发送的通知。您是否只在联系fourm时遇到此问题?您的fourm的目标url是什么?定义“停止工作”?您可能需要告诉apache使用DefaultType application/x-httpd-php将无扩展文件解析为php。从@rahul posted链接中可以看到这个答案:调用'DefaultType application/x-httpd-php'不起作用。此外,我所说的停止工作是指在我的一个页面上有一个联系表单。但是,当它被使用时,它不会发送电子邮件,也不会发出有关消息是否已发送的通知。您是否只在联系fourm时遇到此问题?您的fourm的目标url是什么?