ลองเขียนโค๊ดมานะครับ คือทำการย่อลิงค์เสร็จแล้วให้ไปเพจหน่วงเวลา แล้วเข้าลิงค์จริง
แต่สุดท้ายก็ทำไม่รอด ยังไงรบกวนพี่ๆดูโค้ดให้ผมหน่อยนะครับ
shorten // โค้ดย่อลิงค์
<?php
/** include header **/
include("header.php");
/** shorten url **/
if(isset($_POST['task']) && $_POST['task'] == 'shorten')
{
/** pass variables to short url class **/
$short_url->create_url(urldecode($_POST['url']), false);
/** if there is an error output it **/
if($short_url->is_error == 1){ echo $short_url->error_message; }
/** exit **/
exit;
}
?>
goto // หน่วงเวลา
<?php
include("header.php");
/** reset error vars **/
$error = 0;
/** get url id **/
$id = isset($_GET['id']) ? $_GET['id'] : '';
/** run query **/
$query = @mysql_query("SELECT * FROM short_urls WHERE url_id = '".$id."' LIMIT 1");
$num = @mysql_num_rows($query);
$row = @mysql_fetch_array($query);
/** if url does not exist throw to home page **/
if($num == 0){ redirect($url->url_base); exit; }else
/** if url exists go to it **/
if($num != 0)
{
/** update hits **/
@mysql_query("UPDATE short_urls SET url_hits = url_hits+1 WHERE url_id = '".$id."'");
/** redirect to long url **/
$url_2 = $row['long_url'];
}
?>
.htaccess // อันนี้ผมลองทำขึ้นมา แต่ไม่รู้ว่าจำเป็นต้องมีไหม
## Turn on and setup apache rewrite ##
RewriteEngine On
Options +Followsymlinks
RewriteBase /
## Dissable directory indexing ##
Options -Indexes
## Remove trailing slash from end of uri ##
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) $1\.php [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ /$1 [R=301,L]
# Redirect to non.php extension
RewriteCond %{THE_REQUEST} ^GET\ /([^/]+/)*[^.]+\.php(\?[^\ ]*)?\ HTTP/
RewriteRule ^(([^/]+/)*[^.]+)\.php$ $1 [R=301,L]
## Rewrite Rules ##
RewriteRule ^([0-9-a-z-A-Z-_]+)/?$ goto.php?id=$1 [L]
RewriteRule ^account/(.*)$ $1.php [L]
สรุปคือ ผมย่อลิงค์เสร็จแล้ว กลับเจอ 404 not found ซะงั้น ไม่รู้ว่าผิดพลาดตรงไหนนะครับ
Quote:Not Found
The requested URL /goto.php was not found on this server.
รบกวนวิเคราะห์ทีนะครับ ขอบคุณครับ
Tag : PHP