Jump to content
php.lv forumi

urļu pārakstīšana


JOJOManLV

Recommended Posts

Tātad joks novecojis un aktuāls man... tātad vecais labais paņēmiens ar cilvēkiem salasāmajiem linkiem

 

 

mans .htaccess fails

 

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?page=$1 [L]
    RewriteRule ^(.*)/(.*)$ index.php?page=$1&step=$2 [L]
</IfModule>

<Files .htaccess>
order allow,deny
deny from all
</Files>
 

Tālāk mans index fails

<!DOCTYPE html>
    <html>
        <head>
            <title></title>
            <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
            <link rel="StyleSheet" type="text/css" href="style.css" /> 
        </head>
        <body>
            <div id="header">portāls</div>
            <div id="container">
                <div id="left">
                    
                </div>
                <div id="right">
                       <div id="nav">
                        <a href="home">Sākums</a>
                        <a href="registration">Reģistrācija</a>
                        <a href="registration">step 2</a>
                        <a href="home/2">step 2</a>
                        </div>
                    <div id="lapa">
                        <?php
                            print_r(explode('/',$_GET['page']));
                        ?>
                        <?php
                            @$links = $_GET['page'];
                            if($links == "home"){
                                include('pages/sakums.php');
                            }elseif($links == "registration"){
                                include('pages/register.php');
                            }else{
                                include('pages/sakums.php');
                            }
                        ?>
                    </div>
                </div>
            </div>
            <div id="footer">Apakša</div>
        </body>
    </html>

Kā jau redzma drošvien bardaks :D

 

Bet lieta tāda: kamēr links ir ar vienu mainīgo <a href="home">Sākums</a> vis strādā ok bet tiko ir <a href="home/2">step 2</a> tad urla sak dublēties home mainigais un beigās reuzltāts sanāk /home/home/home/2 atkarigs no tā cik aktīvi spied linku ti reizes rādās...

 

Kur ir problēma? mēģināju arī citus paņēmienus visur atduros pret to ka sāk dublēties...
 

Edited by JOJOManLV
Link to comment
Share on other sites

<a href="/home">Sākums</a>

<a href="/registration">Reģistrācija</a>

<a href="/registration">step 2</a>

<a href="/home/2">step 2</a>

Nenormāls paldies.... :) nostrādāja

 

bet tagad es ar $_get['step'] nevaru iegut vērtību; viņas vienkārši nav... at page vērtība ir home/2

Edited by JOJOManLV
Link to comment
Share on other sites

Nu bet loģiski, jo ar "RewriteRule ^(.*)$ index.php?page=$1 [L]" tu par vienīgo GET parametru uzstrādi to kluci, kas seko pēc domēna, vai tur "home/2", vai "home/shit/blah/lol/fail".

 

Pareizi ir darīt tā, ka tu no tā "home/2" izpīpē, kas tur par parametriem ir domāts.

Link to comment
Share on other sites

Nu bet loģiski, jo ar "RewriteRule ^(.*)$ index.php?page=$1 [L]" tu par vienīgo GET parametru uzstrādi to kluci, kas seko pēc domēna, vai tur "home/2", vai "home/shit/blah/lol/fail".

 

Pareizi ir darīt tā, ka tu no tā "home/2" izpīpē, kas tur par parametriem ir domāts.

Principā tālāk strādājot ar explode vai kas nu man labāk patīk es atdalu tos slashu(/) vai ja kkas cits tad kko citu un tālāk apstrādāju ja?

 

labi bet tagad izveidoju itā te

 

<IfModule mod_rewrite.c>
    RewriteEngine On

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

    RewriteRule ^([^/]*)$ index.php?page=$1 [L]
    RewriteRule ^([^/]*)/(.*)$ index.php?page=$1&step=$2 [L]

</IfModule>


bet te es iegūsti ar $_get visus mainīgos ko man vjaag? ka ir labāk? ar $_get vai tomēr tā kā sākumā?

Edited by JOJOManLV
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...