2014-01-20 105 views
1

我想安裝的網址,使其seo友好。刪除ID和?從網址使網址seo友好

我有一個顯示一些像這樣的URL的腳本..

http://example.com/article.php?id=3456/AnimaliaKingdom.html 

我試圖讓網址看起來就像這樣

http://example.com/article/3456/AnimaliaKingdom.html 

http://example.com/article/AnimaliaKingdom-3456.html 

http://example.com/article/AnimaliaKingdom/3456.html 

在我的PHP文件,我使用的這個位置在頭

header(「Location: article.php?id=$id/$row[name].html」); 

下面的代碼

$res = SQL_Query_exec("SELECT article.id,article.name WHERE article.id = $id"); 
$row = mysql_fetch_assoc($res); 

if ($_GET["hit"]) { 
    SQL_Query_exec("UPDATE article SET views = views + 1 WHERE id = $id"); 
     header("Location: article.php?id=$id/$row[name].html"); 
die; 
} 

這的一部分被重寫規則,我用

RewriteEngine On 
RewriteRule ^article/(.*?)$ /article.php?id=$1 [L] 

我已經使用上面的重寫規則來重定向路徑,但它似乎沒有工作..

我已經試過了一些類似的問題,但似乎並沒有得到任何人的工作...感謝..

+0

你必須做出的鏈接,你想「友好」,那麼他們重寫PHP腳本,使鏈接一樣,用頭是不是做正確的事! – PRAISER

+0

爲什麼你要調用'header(「Location:article.php?id = $ id/$ row [name] .html」);'?在這個地方你應該發送內容給用戶。 – Ilya

+0

你是否啓用mod_rewrite?在您的配置文件中AllowOverride All?當您將垃圾代碼放入時,您的.htaccess會產生錯誤嗎? – NewInTheBusiness

回答

1

你必須讓你的鏈接在某些網址類是這樣的:

<?php 
class Url { 
    public function link($type, $id, $seo) { 
     return "/$type/$id--$seo.html"; 
    } 
} 

$url = new Url(); 
$link_article = $url->link('article', 100, 'friendly-text'); 
?> 
<!DOCTYPE html> 
<html> 
    <head> 
     <title>testing</title> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <script src="jquery.js" type="text/javascript"></script> 
    </head> 
    <body> 
     <a href="<?php echo $link_article; ?>">Article 100</a> 
    </body> 
</html> 

然後重寫規則重定向到腳本中,這樣的:

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(\w+)/(\d+) $1.php?id=$2&%{QUERY_STRING} [L] 
+0

我會盡力了這一點,將報告與結果,謝謝 – iOflower