Jump to content
php.lv forumi

.htaccess RewriteRule


Rokene
 Share

Recommended Posts

Labdien!
Esmu iesācejs darbā ar .htaccess, tāpēc neatrodot sev vēlamās atbildes google, vērsos pie jums.

Gribēju nomainīt smukākus URL, precīzāk no esošajiem /loan.php?paterina-kredits uz /aizdevums/paterina-kredits

 

Htaccess fails:

Options +FollowSymLinks
RewriteEngine on

RewriteRule ^aizdevums/(.*)?$ loan.php?$1 [L,QSA]

Viss strādā un ir skaisti, ja atrodos /index.php

Bet ja atrodos iekš /aizdevums/paterina-kredits ,tad visi linki parādās ar vēl vienu /aizdevums priekšā, jeb /aizdevums/aizdevums/paterina-kredits

Kāpēc tā sanāk?

 

Varbūt, ja nav skaidrs, piemērs:

== Atrodoties iekš index.php ==
<li><a href="index.php">Sākums</a></li>
<li><a href="aizdevums/paterina-kredits">Patēriņa kredīts</a></li>
<li><a href="contact.php">Kontakti</a></li>

== Atrodoties iekš aizdevums/paterina-kredits ==
<li><a href="aizdevums/index.php">Sākums</a></li>
<li><a href="aizdevums/aizdevums/paterina-kredits">Patēriņa kredīts</a></li>
<li><a href="aizdevums/contact.php">Kontakti</a></li>

Papildus pamanīju arī to, ka ja es atrodos caur /loan.php?paterina-kredits ,viss ir kārtībā.

Edited by Rokene
Link to comment
Share on other sites

And so the noobism continues...

 

.htaccess:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{SCRIPT_FILENAME} !index.php
RewriteRule .* ./index.php [L]

index.php (TIKAI ŠAJĀ FAILĀ parsē URL un inkludo vajadzīgos failus - neviens cits PHP fails nedrīkst būt public web direktorijā, izņemot kaut kādus īpašus izņēmumus, kuru tev nav):

<?php
$url = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$routes = [
    '/'                           => 'index.php',
    '/aizdevums/paterina-kredits' => 'loan.php',
    '/contact'                    => 'contact.php',
    // etc
];

include __DIR__ . '/../src/pages/' . ($routes[$url] ?? 'error.php');
 

Attiecīgi URL izmanto šādus:

<li><a href="/">Sākums</a></li>
<li><a href="/aizdevums/paterina-kredits">Patēriņa kredīts</a></li>
<li><a href="/contact">Kontakti</a></li>
Speciāli uztaisīju githubā projektu: https://github.com/jurchiks/simple-web-project-example

Es šādu routingu esmu izmantojis vairākās lapās, kuras ir 95% frontends un 5% backends (kontaktu e-pastu sūtīšana utml sīkumi),

tā kā tas ir pārbaudīts un tas tiešām ir viss, kas nepieciešams pavisam vienkāršām lapām.

Edited by jurchiks
Link to comment
Share on other sites

  • 9 months later...
Guest mand4rins

Nu nezinu,ja taubaigi gribas pisties...mjaa na google ir tava mateja tagad pus forums. Recsss! Labi sakuma pasakas pa.  Serv.  Linux.  Wind...etc.   Cik.   Sapratu.  Tad.  Nic. Ok,    kada.   Didtra? Nu jus. Mani daprataat...

Edited by mand4rins
Atkal. Dzeris
Link to comment
Share on other sites

18 hours ago, mand4rins said:

Nu nezinu,ja taubaigi gribas pisties...mjaa na google ir tava mateja tagad pus forums. Recsss! Labi sakuma pasakas pa.  Serv.  Linux.  Wind...etc.   Cik.   Sapratu.  Tad.  Nic. Ok,    kada.   Didtra? Nu jus. Mani daprataat...

Pats saprati, ko uzrakstīji?

Link to comment
Share on other sites

  • 3 months later...

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...
 Share

×
×
  • Create New...