2016-09-20 116 views
0

我有一个完美的工作htaccess的重写删除斜线

RewriteEngine On 
RewriteRule ^([^/]*)/([^/]*)/([^/]*)\/$ /social/single_post.php?name=$1&t=$2&id=$3 [L] 
RewriteRule ^([^/]*)\/$ /social/user.php?user=$1 [L] 

例以下重写规则:http://myurl.com/username/http://myurl.com/social/user.php?user=username

我想从第二重写规则删除斜线,这样它会返回如下:

实施例:http://myurl.com/username指向http://myurl.com/social/user.php?user=username

RewriteRule ^([^/]*)$ /social/user.php?user=$1 [L] 

问题是,当我这样做,整个域被重定向

这样: http://myurl.com/http://myurl.com/social/user.php?user=

http://myurl.comhttp://myurl.com/social/user.php?user=

很显然,我不希望这些最后发生两件事情。我如何修改我的htaccess以实现预期的结果?

回答

1

试试这个,

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]*)/([^/]*)/([^/]*)\/$ /social/single_post.php?name=$1&t=$2&id=$3 [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]*)\/$ /social/user.php?user=$1 [L] 
+0

这有助于这么多谢谢。这不是确切的结果,但条件陈述绝对让我分类。 – Bruce