2013-11-21 110 views
1

我已經下載了phpDolphon社交網絡腳本。但它很棒,它沒有乾淨的URL。有人知道該怎麼做嗎?乾淨的URL與htaccess

這裏是索引頁的例子:

mydomain.com/index.php?a=feed

,我想將它更改爲:

mydomain.com/


這裏是個人資料頁的例子:

mydomain.com/index.php?a=profile&u=daniel

,我想將它更改爲:

mydomain.com/user/daniel


我都試過,但它似乎並沒有工作。有任何想法嗎?

RewriteEngine On 
RewriteRule ^([A-Za-z0-9-+_%*?]+)/([A-Za-z0-9-+_%*?]+)/?$ index.php?a=$1&u=$2 [L] 

回答

0

如何:

RewriteEngine On 

RewriteCond %{THE_REQUEST} \ /+index\.php\?a=feed 
RewriteRule^/? [L,R=301] 

RewriteCond %{THE_REQUEST} \ /+index\.php\?a=profile&u=([^&\ ]+) 
RewriteRule^/user/%1? [L,R=301] 

RewriteRule ^user/([^/]+)$ /index.php?a=profile&u=$1 [L,QSA] 

RewriteRule ^$ /index.php?a=feed [L,QSA] 
+0

所有的'$ {THE_REQUEST}',什麼是''\''和'[ L]'和'[QSA]'? – Rudie

+0

@Rudie這是如果有他的控制之外的URL仍然指向舊的'index.php?something' URLs。 'L'結束在當前迭代中重寫,'QSA'添加查詢字符串(如果存在)。 –

+0

非常感謝! –

0

你需要非常具體的規則:

# no 'feeds' in alias 
RewriteRule ^$ index.php?a=feed (maybe it needs a /) 

# 'user' in one, 'profile' in other 
RewriteRule ^user/(\w\d+)$ index.php?a=profile&u=$1 

etc