.htaccess重写用户名和索引以及其他页面的规则

时间:2016-09-06 04:50:25

标签: php .htaccess url-rewriting

我正在开发一个简历上传网站,用户可以注册并提交简历,稍后他们会通过输入自定义链接(如yourdomain.com/profile/username)查看简历。 现在一切都已完成,但事情是我重写了一个htaccess

RewriteRule ^profile/([^/]+)/?$ profile_view.php?user_custom=$1 [L,QSA,NC]

现在我遇到的问题是客户需要像yourdomain.com/username

这样的网址

但是当我将.htaccess重写为

RewriteRule ^([^/]+)/?$ profile_view.php?user_custom=$1 [L,QSA,NC]

删除"profile/ "然后传递用户名,例如yourdomain.com/username

没有问题,但是当我打开yourdomain.com/index.php索引页面以及所有其他页面时,我遇到了问题。

任何人都可以提出解决方案吗?

1 个答案:

答案 0 :(得分:1)

您应该在规则之前添加RewriteCond来排除规则中的文件和目录:

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([^/]+)/?$ profile_view.php?user_custom=$1 [L,QSA,NC]