使用 apache2 @username 将 URL 重写为 /user/username

RewriteURL with apache2 @username to /user/username

这很简单,但我很难弄清楚该怎么做 我在 apache2 rewriteurl 文档中进行了搜索,但没有找到任何有用的信息。 您转到 url.com/@myusername,apache 将您指向 url.com/username/@myusername 并使用 [L,NE,P] 保持浏览器上的 URL 完好无损

RewriteURL @username /user/username

请注意我只想重定向以@符号开头的内容并将其作为用户名

先激活mod_rewrite,

sudo a2enmod rewrite

然后重启apache2,

sudo systemctl restart apache2

在网络根目录中创建 .htaccess 文件。这必须是您在 apache 配置中提供的文档根目录。

RewriteRule ^([A-Za-z0-9]+) user/ [QSA]

更新

如果您希望匹配以@符号开头,请使用如下正则表达式,

RewriteRule ^(@[A-Za-z0-9]+) user/ [QSA]