2013-11-21 108 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