profile.php 查询的 htaccess 重写规则

htaccess rewriterule for profile.php query

我正在尝试为个人资料页面编写 .htaccess RewriteRule。我希望规则查询 SQL 数据库中的用户配置文件,如果该数据 returns 加载 profile.php 页面的结果。示例:

但是,我还有其他页面,例如 /login/registration//chat 等。每次我尝试做某事时,我都会 运行 陷入困境。

我尝试了以下方法:

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

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

在您的 .htaccess 文件中试试这个

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

确保在 profile.php 中你设置了特定的条件来匹配参数,如果不匹配,它会显示错误消息或将你重定向到 404 页面 那太好了

请尝试以下正则表达式,希望它能解决您的问题。

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

您可以随时使用此 link 来测试您的正则表达式。