profile.php查询的htaccess重写器



我正在尝试为配置文件页面编写.htaccessRewriteRule。我希望该规则在SQL数据库中查询用户配置文件,如果该数据返回结果,则加载profile.php页面。示例:

  • www.example.com/username
  • www.example.com/user.name
  • 或CCD_ 6等

但是,我还有其他页面,如/login/registration//chat等等。每次尝试某个内容时,我都会遇到问题。

我尝试过以下几种:

RewriteEngine On
RewriteRule ^(login)$ login.php [QSA]
RewriteRule ^(logout)$ logout.php [QSA]
RewriteRule ^([w-]+)/?$ profile.php?pid=$1 [L,QSA]

我正在尽可能多地学习,但我不理解regex语法和条件。上面的规则允许我使用以前的所有页面,但它会捕获profile.php页面中的所有其他页面。我做错了什么?

请尝试以下regex,我希望它能解决您的问题。

^([w]+|[w-]+.+[w]+)$

您可以随时使用此链接来测试您的regex。

在.htaccess文件中尝试此操作

RewriteEngine On 
RewriteRule ^([a-zA-Z0-9-/]+)$ profile.php?pid=$1

请确保在profile.php中设置了与参数匹配的特定条件,如果不匹配,则会显示错误消息或将您重定向到404页面那将是一个不错的

最新更新