Jump to content
php.lv forumi

rewrite url


test2

Recommended Posts

Tātad man ir šādi GETI

 

index.php?do=comments

index.php?do=reg

index.php?do=gallery

 

man r gatavs rewrite, kas viņu pārstāda uz

 

/comments/

/reg/

/gallery/

 

RewriteEngine On
RewriteCond %{REQUEST_URI} !\.(css|js|jpg|gif|jpeg)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ?do=$1 [QSA,L]

 

Bet ir gadijumi, kur man ir vajadzība, kautvai tapašam

index.php?do=comments paddot vel vienu mainīgo

index.php?do=comments&id=2

index.php?do=gallery&id=2

 

Tātad man vajadzētu kko līdzīgu manam esošajam kodam, tikai lai rewraito arī nākamo ID, protams, es negribu katram GET sarakstīt manuāli, bet kā ir iekš

tā mana gatavā koda!

 

Pie reizes lūgums parādīt, ja ir trīs vai vairāki get mainīgie!

Edited by test2
Link to comment
Share on other sites

Jo izpildās tikai pirmais nosacījums.

 

Es tev vispār ieteiktu visu stringu padot skriptam, un pēc tam no PHP dalīt daļās.

 

Man parasti ir šāds vienkārš htaccess:

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

 

Pēc tam iekš PHP ņemu $_GET['path'], splitoju, daros.

Link to comment
Share on other sites

Vot to splitošanu utt, es nesaprotu kā es caur php varu mainīt, es te biju atradis kkādu fcijas ar explode utt, bet es nesaprotu tu varētu man apskaidrot, kas tur īsti notiek...

 

Tur jau ir tā lieta, ka man stāv šitāds:

 

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php?_path=$1 [QSA]

 

Viss itkā rukā, bet kā jau teicu citreiz man ir vel kkāds mainīgais plusā index.php?_path=oh&page=12

Tad, kā tas rewraits vsp to page var apsrtādāt, ja viņam ir padots tikkai viens Path, lūdzu paskaidrojiet man!

Link to comment
Share on other sites

Es īsti nesaprotu, ko tu nesaproti.

 

Piemērs:

 

example.com/pages/12/?action=edit

 

PHP pusē $_GET['_path'] būs 'pages/12' (to ar explode sadali daļas). Un action būs pieejams kā parasti $_GET['action']. Arī citi GET parametri būs pieejami kā parasti.

Link to comment
Share on other sites

Es atvainojos par savu stulbumu, bet lūdzu parādi piemēru, manam kodam:

 

if(isset($_GET['do']))
{
switch ($_GET['do'])
{
case 'news':
include('inc/news.php');
break;
case 'comments':
include('inc/com.php');
break;
default:
include('inc/news.php');
break;												
}
} else {
include('inc/news.php');
}

 

 

Lūk ir mans index.php, jaunumu lapā links uz komentāriem izstīsies šādi: http://tuc.lv/comments/1

Tas ko tu iepriekš iedevi rukā labi viņš katru get revraito piemēram, man tagad nav index.php?do=news, bet gan /news , bet kā man tam comments to id rewraitot! Es nejēdzu to splitošanu!

Link to comment
Share on other sites

Es nesaprotu, ko tu tajā pēdējā teikumā centies pateikt, bet:

 

$do = '';
$parts = explode('/', $_GET['_path']);
if (isset($parts[0])) {
 $do = $parts[0]
}

 

To $do liec iekš case.

 

Tālāk jau iekš comments.php:

if (isset($parts[1]) && is_numeric($parts[1])) {
 $id = (int) $parts[1];
}

Link to comment
Share on other sites

  • 4 weeks later...

Atvainojos, ka pacēlu savu bikiņ pavecu topiku, bet man tagad viena problēma!

Tas andrisp foršais variants rukā, bet man tagad ir atsevišķs fails lejupielaadeetaajs.php?fails=kaut-kāds id

Un es gribu viņam caur htacces padot šādi download/[1-9], bet tākā man stāv šāds:

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

 

Es tur velvienu rewriterule nevaru ierakstīt , jo viņš nereaģē!

 

Un es to lejupielaadeetaajs.php, nēesmu iekļāvis iekš šī te swiča, man nevajag, lai tas uzrādas lapas kontetā:

if(isset($_GET['do']))
{
switch ($_GET['do'])
{
case 'news':
include('inc/news.php');
break;
case 'comments':
include('inc/com.php');
break;
default:
include('inc/news.php');
break;												
}
} else {
include('inc/news.php');
}

Link to comment
Share on other sites

Es laikam nemāku paskaidrot, bet lab 2x:

 

 

kā es piemēram var padot jaunu rewraitu rule, ja stāv jau tas?

 

meiģināju šādi , bet nereaģē:

RewriteRule ^files/([a-zA-Z0-9_-]+)/$ lejupielaadeetaajs.php?fails=$1

Ā un tad re ku velviena problēma, piemēram es uzrakstu eksistējošu adresi

 

http://manalapa.lv/style un augšējā adres barā parādas kkāds murgs - http://manalapa.lv/style/?do=style

, bet tad kad rakstu http://manalapa.lv/style/ , tad viss ir ok, bet būtībā, man būtu jāaziet uz style folderi, bet abos gadijumos

neatveras style, bet paliek main lapa! :( wtf?

Link to comment
Share on other sites

×
×
  • Create New...