Jump to content
php.lv forumi

.HTACCESSošana un clean url gļuki


Cibiņš

Recommended Posts

Nu tātad tā kaut cik nu samācījos to htaccessu elementāro lietu.

 

Pašlaik man htaccess ir šāds:

RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?pg=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?pg=$1

 

Pamata linki strādā.

 

Piemēram

 http://www.lapa.lv/?pg=about 

tiek pārrakstīta kā

http://www.lapa.lv/about

linkā padodot

<a href="./about">Par mums</a>

šī linka

 

<a href="?pg=about">Par mums</a>

 

vietā.

 

Bet te tālāk jau seko problēma.

 

Ja padod sublinku

http://www.lapa.lv/about/telefons/

un

http://www.lapa.lv/about/forma/

 

tad nestrādā.

./telefons un ./forma linkiem tiek piešķirts $type mainīgais.

 

Piem ja skatamies bez htaccessa tad piepriekšminētais pamata links BEZ pārrakstīšanas (ar agstākminēto htaccessu) ir

http://www.lapa.lv/?pg=about

un sublinks ir

http://www.lapa.lv/?pg=about&type=telefons

 

Kāds nevar palīdzēt atrisināt šo problēmu lai pārraksta arī sublinkus?

Edited by Cibiņš
Link to comment
Share on other sites

Kāpēc tu nevari vienkārši visu ceļu pārrakstīt uz mainīgo un tad PHP pusē izmantojot explode sadalīt to linku un izdomāt ko rādīt?

 

Man, piemēram, ir šāds htaccess:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]

 

Ja links ir uz eksistējošu failu, tad tiek padots fails, bet ja fails neeksistē, tad viss ceļš nonāk $_GET['route'] mainīgajā.

 

Tad vēlāk iekš index.php:

 

$parts = explode("/", $route . "////"); //Piekabinam tukšus slešus, lai vienmēr būtu masīvā vērtības

echo "1. daļa: {$parts[0]}<br/>";
echo "2. daļa: {$parts[1]}<br/>";
echo "3. daļa: {$parts[2]}<br/>"; //Un tā tālāk....

 

Un pēc tam atbilstoši iekļauj galveno sadaļu.

switch($parts[0]){
 case 'about' :
     include("about.php");
 break;
 case 'randomshit' :
     include("randomshit.php");
 break;
 default:
     include("page_not_found");
}

 

Tas arī viss...

 

Tik pat labi labas ko tu iekļauj var būt clases, kam arī ir piekļuve $parts mainīgajam, kuras var rīkoties tālāk atkarībā no tā, kas ir iekš $parts.

Edited by briedis
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...