2014-02-28 28 views
1

我目前使用phpDolphin作为我的网站社交网络,phpDolphin不是SEO网址准备好的,我正在研究如何修复.htaccess的友好seo网址,我似乎无法处理它。这里是我当前的.htaccessphpDolphin SEO Url

而且,这里的网址是如何出现

http://feisbu.me/index.php?a=profile&u=cubaton3

,我想表明:http://feisbu.me/cubaton3

这是我的.htaccess文件

RewriteEngine on 
RewriteCond %{request_filename} -f 
RewriteRule ^(.*) $1 [L] 
RewriteRule ^(([^/]*)+)(/([^/]{0,32})(/.+)?)?$ index.php?a=$1&q=$3 [L] 

请帮助我,谢谢。

回答

1

一些明显的事情:

  • 的mod_rewrite不改变链接你的输出。你的服务器端脚本需要这样做。
  • 你的条件和规则是一团糟,你显然需要硬连接你的a = profile参数。请记住,除非您正在使用主机名变量,否则您匹配并重写了查询字符串,但它们不应与匹配相关,也不是重写过程的一部分,除非您发布301。

这通常是用什么做这样的:

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f 
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d 
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-l                                            
RewriteRule ^/(.*)$ /index.php?a=profile&q=$1 [L,QSA] 

我不熟悉phpDolphin或其它途径,这可能干扰,所以你可能需要其他规则。我个人不喜欢这些“如果没有默认路由到用户”类型的设置。像“/用户/名称”这样的东西将是一个干净的路由,不会干扰其他路由,因为您可以完全匹配参数。

0

这是解决方案,希望我帮助,我的网站gofinder.org:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^/.]+)/?$ index.php?a=profile&u=$1 [L,QSA] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(([^/]*)+)(/([^/]{0,32})(/.+)?)?$ index.php?a=$1&q=$3 [L,QSA]