如何创造良好的htaccess

时间:2015-12-12 14:09:01

标签: php .htaccess web

对不起,我刚开始学习.htaccess文件。我试图用这种方式编写它(我的htaccess文件)



<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /exmpl/vadik_route/
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  ReqriteRule ^(.*)$ index.php/$l
</IfModule>
&#13;
&#13;
&#13;

和我的index.php

&#13;
&#13;
<?php 
echo $_SERVER['PATH_INFO'];

 ?>
&#13;
&#13;
&#13;

但服务器通过此错误。

&#13;
&#13;
Server error!

The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there was an error in a CGI script.

If you think this is a server error, please contact the webmaster.

Error 500

localhost
Apache/2.4.17 (Win32) OpenSSL/1.0.2d PHP/5.6.15
&#13;
&#13;
&#13;

我该如何解决?

3 个答案:

答案 0 :(得分:1)

你可以通过get方法发送url,例如getme.php?url = / controller / model / 你可以把网址除以斜线

 $_GET['url'] //it is going to show you the url.

让我们看一下.htaccess并解释一下。

    RewriteEngine On
    RewriteBase / #dont forget to modify this part. it is explain which folder you project in
    RewriteEngine On Options All -Indexes RewriteBase /directoryname/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    ###############  SEO     ##########################


#http://www.example.com/hello/booboo/ it takes the url  after .com/


       RewriteRule ^(.*)$ getme.php?url=$1 [QSA,L]

现在我们将所有网址发送到getme.php,我们可以使用它

getme.php

<?php

//we redirect to get in url=$1 so our get method name is url
$parca = explode("/", $_GET["url"]); //and we divided the url by slash .

echo $parca[0];//this is first part "/hello/
echo $parca[1];// and this is second part "/booboo/;
?>

答案 1 :(得分:0)

使用以下内容更改.htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

答案 2 :(得分:0)

&#13;
&#13;
<?php
  session_start();
  //Define Language file paths
  define("LANG_EN_PATH", $_SERVER['DOCUMENT_ROOT'] . '/exmpl/sayt/multilang/en/');
  define("LANG_RU_PATH", $_SERVER['DOCUMENT_ROOT'] . '/exmpl/sayt/multilang/ru/');
  define("LANG_KR_PATH", $_SERVER['DOCUMENT_ROOT'] . '/exmpl/sayt/multilang/kr/');
  define("LANG_TR_PATH", $_SERVER['DOCUMENT_ROOT'] . '/exmpl/sayt/multilang/tr/');
 
if (isset($_GET['lang'])) 
{
     
    // GET request found
 
    if ($_GET['lang'] == 'ru') 
    {
      include LANG_RU_PATH . 'ru.php';
      $_SESSION['lang'] = 'ru';
    }  
    
    else if ($_GET['lang']=='en') {
      include LANG_EN_PATH .'en.php';
      $_SESSION['lang'] = 'en';
    }
    
    else if ($_GET['lang']=='tr') {
      include LANG_TR_PATH .'tr.php';
      $_SESSION['lang'] = 'tr';
    }

    else
    {
    include LANG_KR_PATH . 'kr.php';
    $_SESSION['lang'] = 'kr';
    }

}   
     
     //translate for russian
      else if (isset($_SESSION['lang'])) 
      {
 
    if ($_SESSION['lang'] == 'ru') 
          {
           include LANG_RU_PATH . 'ru.php';
          } 
 //translate for kyrg 
    else if($_SESSION['lang'] == 'en') 
        {
          include LANG_KR_PATH . 'en.php';
          $_SESSION['lang'] = 'en';
        }
        
   // translate for turkish
    if($_SESSION['lang'] == 'tr') 
        {
          include LANG_TR_PATH . 'tr.php';
          $_SESSION['lang'] = 'tr';
        }

     else {
          include LANG_KR_PATH . 'kr.php';
          }
     
                   
     } 
     
     
    
    else 
    {
     
    include LANG_KR_PATH . 'kr.php';
    $_SESSION['lang'] = 'kr';
  }

?>
&#13;
&#13;
&#13;

你可以为此写道路,如清晰网址