Промяна в урл-а

cHuBakA

Registered
Здравейте
скрипт вади урл- адресите
категорията - ,25 (запетя и число)
новината - 25, (число и запетая)

ето го кода който прави това. Как може да се промени и да се махнат тези запетай. Да се направи по нормално примерно
категорията - c25 (буква и число)
новина - о25 (друга буква и число)


Код:
  if( isset( $_GET ) && is_array( $_GET ) ){
    foreach( $_GET as $mKey => $mValue ){
      if( strstr( $mKey, ',' ) ){
        $mKey = htmlspecialchars( $mKey );
        $aExp = explode( ',', $mKey );
 
Дай различни урл цели както са си, защото от това урл нищо не можах да разбера категорията ,25, това ти е урл-то ли реално?
 
embaka каза:
Дай различни урл цели както са си, защото от това урл нищо не можах да разбера категорията ,25, това ти е урл-то ли реално?
Да и аз нищо не схванах от това което иска...
 
Аз мисля, че схванах, но това, което искаш се прави с htaccess, а този код, който си дал само перефразира урл-а и го разбива там, за да вземе отделните части. Този код, не генерира УРЛ-а ;) Дай .htaccess файла :?:
 
joTunkiq каза:
Аз мисля, че схванах, но това, което искаш се прави с htaccess, а този код, който си дал само перефразира урл-а и го разбива там, за да вземе отделните части. Този код, не генерира УРЛ-а ;) Дай .htaccess файла :?:

Да номера е id-то на новината. Направен е да работи със запетая в урл-а. Когато запетаята е пред id-то излиза новината, а когато е след запетаята излиза категорията с новините.

и аз мисля че този код перефразира само ( и то само тази част) нали


Код:
    if( strstr( $mKey, ',' ) ){
        $mKey = htmlspecialchars( $mKey );
        $aExp = explode( ',', $mKey );

Тръгна ли да го променям сайта умира. Не откривам в другите файлове кое може да прави урл-ите, Няма нищо :idea: какво да гледам

п.п няма htaccess - празен е.

Не искам да пренаписвам адресите сео , а само да махна тази запетая пред и след id-то на новината
 
Код:
    if( strstr( $mKey, ',' ) ){
        $mKey = htmlspecialchars( $mKey );
        $aExp = explode( ',', $mKey );
Това проверява дали в променливата $mKey се съдържа запетая и ако да се филтрира с htmlspecialchars след което се експлодират запетайките и се вади променливата $aExp като масив.
Искаш да я премахнеш или замениш с наклонена черта примерно /
 
Ами да я премахна изцяло. Всъщност това проблема.
Иначе заместването няма проблем, пробвах става.

Стандартно има ли някакъв ориентир който мога да гледам за да намеря което прави урл-ите . Като го гледам кода си е почти чист php
 
cHuBakA каза:
Ами да я премахна изцяло. Всъщност това проблема.
Иначе заместването няма проблем, пробвах става.

Стандартно има ли някакъв ориентир който мога да гледам за да намеря което прави урл-ите . Като го гледам кода си е почти чист php

Дай малко адреси както са сега за да ти помогнем и как искаш да изглеждат после. :)
 
Намерих единствения код които прави урл

Код:
$this->aPages[$aExp[0]]['sLinkName'] = '?' . ',' .$aExp[0]  ;

промени ли се тук - сайта умира. и при другия код също.

Адресите сега са site.com?,25
(като 25 е id на новината)

искам да бъде нещо по нормално, примерно site.com? id=25
 
Замени първата функцията с тази:
PHP:
function getUrlFromGet( ){
	global $a;
	if( isset( $_GET ) && is_array( $_GET ) ){
		foreach( $_GET as $mKey => $mValue ){
			if( strstr( $mKey, 'id=' ) ){
				$mKey = htmlspecialchars( $mKey );
				$aExp = explode( 'id=', $mKey );
				if( empty( $aExp[2] ) )
				$aExp[2] = 'p';

				for( $i = 2; $i < count( $aExp ); $i++ ){
				$aActions['o'.( $i )] = $aExp[$i];
				if( $aActions['o'.( $i )] == 'p' )
					$aActions['o'.( $i )] = null;
				} // end for

				if( is_numeric( $aExp[2] ) )
				$aExp[2] = 'p';

				if( is_numeric( $aExp[0] ) && !is_numeric( $aExp[1] ) ){
				$iProduct = $aExp[0];
				$aExp[0] = $aExp[1];
				$aExp[1] = $iProduct;
				$aExp[2] = 'products';
				}

				$aActions['o1']   = $aExp[0];
				$aActions['f']    = $aExp[2];
				$aActions['a']    = $aExp[1];
				$aActions['sLink']= '?'.$mKey;

				$a = $aActions['a'];

				return $aActions;
			}
		}
		$a = null;
		return Array( 'f' => 'p', 'a' => null, 'sLink' => '?' );
	}
}

и редът с този
$this->aPages[$aExp[0]]['sLinkName'] = '?' . 'id=' .$aExp[0] ;
 
мне, не се получава. Изчезват всички статии
Пробвал съм с такава размяна приема само някой символи, като тирета, наклонена черта


Тази функция strstr не е ли част от проблема нали тя върти запетаята отпред и отзад на ID-то или?
 
cHuBakA каза:
мне, не се получава. Изчезват всички статии
Пробвал съм с такава размяна приема само някой символи, като тирета, наклонена черта
Явно имаш филтър някъде.
 
Как може да изглежда този филтър? да знам за какво да гледам
 
cHuBakA каза:
Как може да изглежда този филтър? да знам за какво да гледам
Незнам, простооо ще е нужно да проследиш и претестваш всичко наново за да получиш отговора. На принципа проба грешка ще си ...
 

Back
Горе