2015-09-15 19 views
0

所以是的,我改变了我的.htaccess来摆脱我的网址中的文件扩展名。现在我注意到,我不能回收任何形式或类似的东西?已更改.htaccess现在无法回传?

这是我的.htaccess文件:

RewriteEngine On 

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

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

# Resolve .php file for extensionless php urls 
RewriteRule ^([^/.]+)$ $1.php [L] 

我用我的形式$_SERVER["PHP_SELF"],我认为这可能要改变以反映的.htaccess?我真的很茫然。

回答

1

是的。这是你的.htaccess文件问题。

如果您从文件中删除.php扩展名,您的表单操作属性需要反映此更改。

您可以通过传递$_SERVER['PHP_SELF']变量来trim()功能,像这样做:

<form action="<?php echo trim($_SERVER['PHP_SELF'], '.php') ?>" method="POST"> 
    <input name="example" type="text" /> 
    <input type="submit" value="Submit"> 
</form> 

现在你的表格应妥善提交。

+0

就是这样!谢谢。 –