2013-07-27 5 views
-1

Я работаю над скриптом URL shortener. Мой скрипт генерирует ссылку, такую ​​как http://127.0.0.1:1337/urlshortener/v5tjp.htaccess для укороченного URL

v5tjp - случайное значение, генерируемое скриптом.

Логика моего сценария заключается в том, что я ввожу URL-адрес, затем PHP принимает его, генерирует случайное значение (с длиной, взятой также из базы данных SQL), а затем вставляет длинный URL-адрес и короткий URL-адрес в базе данных.

Где я застреваю: мне нужно создать файл .htaccess, чтобы перенаправить посетителя на redirect.php, где у меня есть сценарий перенаправления.

Это файл redirect.php:

<?php 

include ('connect.php'); 

$decode = mysql_real_escape_string($_GET['decode']); 
$sql = 'SELECT * FROM urls WHERE short_code="$decode"'; 
$result = mysql_query($sql); 

if (isset($_GET['url_token'])){ 
    $urlId=$_GET['url_token']; 
    $query = "SELECT * FROM urls WHERE short_code=".$urlId." LIMIT 1"; 
    $redirect = mysql_query($query); 
    if(mysql_num_rows($redirect)) { 
     $row = mysql_fetch_assoc($redirect); 
     $url = $row['long_url']; 
     header('Location: http://'.$url); 
    } 
    echo 'Bad URL!'; 
    exit(); 

} 



while($row = mysql_fetch_array($result)) 
{ 

$res=$row['long_url']; 
header("location:".$res); 

} 

Это файл .htaccess я сделал:

RewriteEngine On 

RewriteRle ^$ index.php [L] 

RewriteCond %(REQUEST_FILENAME) !-f 
RewriteRule ^(.*)$ redirect.php?url_token=$1 [L] 

Но по какой-то причине он не работает. Я запускаю свой сценарий с помощью XAMPP.

+0

Он ВОФК, что файл не может быть найден на сервере, но у меня есть, что случайное значение в моей базе данных ... – Sergiu

+0

Где вы положили файл .htaccess? –

+0

В папке 'urlshortener'. – Sergiu

ответ

0
RewriteRule ^$ index.php [L] 

Вы пропустили 'u'.

+0

Спасибо, но он все еще не работает ... – Sergiu

0

Попробуйте этот код:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 

RewriteRle ^$ /index.php [L] 

RewriteCond %(REQUEST_FILENAME) !-f 
RewriteRule ^urlshortener/(.*)$ /redirect.php?url_token=$1 [L,QSA,NC] 
+0

В той же ситуации ... – Sergiu

+0

Там была опечатка минора, попробуйте сейчас. Также укажите более подробную информацию о том, какой полный URL вы пытались? – anubhava

+0

'http: //127.0.0.1: 1337/urlshortener/v5tjp' Он должен перенаправить меня на' http: // google.com/', но это не будет. В моей базе данных это связано с этим URL. – Sergiu

Смежные вопросы