diff --git a/.gitattributes b/.gitattributes
index 1f0fc3b0860b061c12b2dbc43f6bffd2f2c21941..7589fbc0c66fd1bef5bd25f5b8831d5d5c985e53 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -355,3 +355,4 @@ plugins/smallcaps/version.php -text
 /puce.gif -text
 /puce_rtl.gif -text
 /rien.gif -text
+/spip_action.php -text
diff --git a/ecrire/inc_utils.php b/ecrire/inc_utils.php
index 4debd87ffa7890faf2ba24ab7f4e2ce5765f7747..317ed28c5a95e704eb5f59cef2cc3e13131967f9 100644
--- a/ecrire/inc_utils.php
+++ b/ecrire/inc_utils.php
@@ -552,7 +552,7 @@ function charger_plugins($plugins) {
 
 function generer_url_ecrire($script, $args="", $retour="", $retour_args="") {
 	return $script .
-		_EXTENSION_PHP .
+		(ereg('.php[3]?$', $script) ? '' :_EXTENSION_PHP) .
 		(!$args ? "" : ('?'  .str_replace('&', '&', $args))) .
 		(!$retour ? "" : 
 		urlencode($retour . _EXTENSION_PHP .
diff --git a/spip_action.php b/spip_action.php
new file mode 100644
index 0000000000000000000000000000000000000000..a84f4cd3f950d36862f0c7760e88f1f1d4fdfadc
--- /dev/null
+++ b/spip_action.php
@@ -0,0 +1,18 @@
+<?php
+
+/***************************************************************************\
+ *  SPIP, Systeme de publication pour l'internet                           *
+ *                                                                         *
+ *  Copyright (c) 2001-2006                                                *
+ *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
+ *                                                                         *
+ *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
+ *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
+\***************************************************************************/
+
+include ("ecrire/inc_version.php3");
+spip_log("$action $arg $id_auteur");
+$var_f = include_fonction('spip_action_' . $action);
+$var_f();
+if ($redirect) redirige_par_entete($redirect);
+?>