Отваряне на линк вместо с id с думи

hackera

Registered
Как може линка вместо така да се отваря /movie.php?id=377 да се отваря с името на записа от базата данни ето така: /ninja-ubiec/ :idea:
 
В случай че си искарваш така резултатите users.php?viewuser=Pinko

RewriteRule ^member/([a-zA-Z0-9_-]+)$ users.php?viewuser=$1

Ще стане /member/Pinko
 
split каза:
В случай че си искарваш така резултатите users.php?viewuser=Pinko

RewriteRule ^member/([a-zA-Z0-9_-]+)$ users.php?viewuser=$1

Ще стане /member/Pinko

на мен ми трябва да взима името на записа демек title и да става така примерно: /movie/avatar :roll:
 
Не е кой знае колко трудно при положение, че ти дадоха добри кодове. Просто направи вместо да взима id-то на филма, да взима неговото име и линка ще изглежда така: movie.php?title=avatar. После в .htaccess-а пишеш това:
Код:
RewriteRule ^movie/([a-zA-Z0-9_-]+)$ movie.php?title=$1
 
nicito каза:
Не е кой знае колко трудно при положение, че ти дадоха добри кодове. Просто направи вместо да взима id-то на филма, да взима неговото име и линка ще изглежда така: movie.php?title=avatar. После в .htaccess-а пишеш това:
Код:
RewriteRule ^movie/([a-zA-Z0-9_-]+)$ movie.php?title=$1

линка ми е така: /beta001/allview.php?title=golem pich
направих това така: RewriteRule ^movie/([a-zA-Z0-9_-]+)$ allview.php?title=$1 и не се получава действам на хост.
 
Пробвай:
Код:
RewriteRule ^beta001/movie/([a-zA-Z0-9_-]+)$ beta001/movie.php?title=$1

И още едно нещо, ако хоста ти те на Windows няма да стане, RewriteRule бачка само на linux :wink:
 
Подобен код използвам за един от уеб сайтовете ми. Взимам името и го изкарвам в линк:
index.php
Код:
<?php
          $query = mysql_query("SELECT * FROM `movie` ORDER BY id DESC LIMIT 0,1") or die(mysql_error());
            while($row = mysql_fetch_array($query)){
            $title = $row['title'];
$title2 = str_replace(" ", "-", $title);
               echo "
                  <a href='/movie/$title2'>$title</a>";
   }
?>

При натискане на бутона формата ми слага тиретата


Не знам, дали съм те разбрал правилно, но мисля, че това ти трябва.

.htaccess
Код:
RewriteRule ^movie/([^/]+)$ movie.php?id=$1 [L]
RewriteRule ^movie/([^/]+)/$ movie.php?id=$1 [L]

movie.php
Код:
			<?php
			function secure($var) { 
			return addslashes(htmlspecialchars($var)); 
			} 
			$id = secure($_GET['id']);
			
			$title2 = str_replace("-", " ", $id);
			$title2 = iconv("UTF-8", "cp1251", $title2);

			$query = mysql_query("SELECT * FROM `movies` WHERE title = '$title2'")or die(mysql_error()); 
			$nums = mysql_num_rows($query); 
				if(($nums > 0) && ($title2 != NULL)) { 
				$row = mysql_fetch_array($query); 
				$title = $row['title'];
				$text = $row['text'];
					echo "
					<b>$title</b><br />$text";
				} 
			else if(!$title2) {  
				echo 'Страницата не съществува!'; 
			}    
			elseif ($nums == 0) { 
				echo 'Страницата не съществува!'; 
			} 
			?>
 
nom3r1™ аз съм направил линка да ми се отваря така: allview.php?title=golem pich това не е проблема искам обаче чрез тази функция RewriteRule да се отваря така /ninja-ubiec/, но не става пробвах така..

Код:
RewriteEngine On
RewriteRule ^beta001/movie/([a-zA-Z0-9_-]+)$ beta001/allview.php?title=$1
 
Код:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ allview.php?title=$1 [L,QSA]
Това го слагаш в .htaccess в папката beta001 ;)
 
alex95_bg_2 каза:
Код:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ allview.php?title=$1 [L,QSA]
Това го слагаш в .htaccess в папката beta001 ;)

най-накрая заработи +1 :?: :?:
 

Back
Горе