douzhizao0270 2014-09-04 08:46
浏览 26
已采纳

$ _SERVER ['PHP_SELF'] .htaccess mod_rewrite问题

I created clean url with .htaccess,

     RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
     RewriteRule ^ %1 [R,L]


     RewriteCond %{REQUEST_FILENAME} !-d
     RewriteCond %{REQUEST_FILENAME}\.php -f
     RewriteRule ^(.*)$ $1.php

.php is removed, but wherever I have a form where

     action = somepage.php 

I am forced to change it to

      action = somepage

these are old websites I am fixing, luckily one has all

     action =$_SERVER['PHP_SELF'] 

is there someway to resolve so action takes the posted values no matter if

action = somepage.php or

action somepage or

action = $_SERVER['PHP_SELF']

So Instead of

   form enctype="multipart/form-data" method="post" action="actionfr.php"

I am forced to change it to:

     form  method="post" action="actionfr"

Same goes for

      form method="post" action="<?php echo   $_SERVER['PHP_SELF']?>"

Many Thanks

P.S I learned how to make clean url .htaccess here on this forum (y) :)

  • 写回答

1条回答 默认 最新

  • dongyuhui0418 2014-09-05 09:18
    关注

    Had to replace every occurrence with :

     action="<?php echo str_replace('.php','',$_SERVER['PHP_SELF'])?>"
    

    Had to go to every file

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?