Jump to content
php.lv forumi

Recommended Posts

Posted (edited)

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
Posted

Itkā, vel pieliku šitādu te klāt:

 

RewriteRule ^(.*)$ index.php?do=$1
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ /index.php?do=$1&id=$2 [L]

Bet viņš vispār nerukā! :(

Posted

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.

Posted

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!

Posted

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.

Posted

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!

Posted

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];
}

  • 4 weeks later...
Posted

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');
}

Posted

Ja es nemaldos, tad pieprasot lejupielaadeetaajs.php failu, tam vajadzētu atvērties, jo ir šis:

RewriteCond %{REQUEST_FILENAME} !-f

 

Kas nozīmē, ka ja ceļs (tātad fails) eksistē, tad neowervraitot to. A varbūt es kaut ko jaucu. :)

Posted

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?

×
×
  • Create New...