删除查询字符串并使用htaccess创建干净的URL

时间:2014-11-28 07:48:22

标签: regex apache .htaccess mod-rewrite

我的url就像跟随查询字符串一样。我想从url中删除查询字符串,并希望创建干净的URL。

www.demo.com/following.php?user=hardik
www.demo.com/fans.php?user=john

这个网址应该像

www.demo.com/hardik/following
www.demo.com/john/fans

或者应该像

www.demo.com/following/hardik
www.demo.com/fans/john

这可能与htaccess有关吗?我试图在谷歌找到一个战利品但仍然没有运气。需要帮助。

更新

我需要这样的东西

www.demo.com/user/hardik/following/
www.demo.com/user/john/fans/

我试过这个

RewriteRule ^user/([^?]*) following.php?user=$2/ [L,QSA]

3 个答案:

答案 0 :(得分:1)

您可以在DOCUMENT_ROOT/.htaccess文件中使用此代码:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^user/(\w+)/(\w+)/?$ $2.php?user=$1 [L,QSA,NC]

答案 1 :(得分:0)

尝试使用此类网址,例如www.demo.com/following/hardik

Options +FollowSymLinks

RewriteEngine on

RewriteRule ^([a-zA-Z_-]+)/([a-zA-Z_-]+)/?$ $1.php?user=$2

答案 2 :(得分:0)

最后这对我来说是最后的要求。可能会帮助别人。

RewriteEngine On
RewriteBase /

RewriteRule ^user/([^*]+)/following/$ following.php?user=$1 [L,QSA]
RewriteRule ^user/([^*]+)/fans/$ fans.php?user=$1 [L,QSA]