首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用htaccess将尾随斜杠附加到URL?

如何使用htaccess将尾随斜杠附加到URL?
EN

Stack Overflow用户
提问于 2020-01-22 14:34:00
回答 1查看 48关注 0票数 1

我想从author/$username重定向到author/$username/$username是作者的用户名。

这是我的.htaccess内容:

代码语言:javascript
复制
RewriteEngine on
RewriteRule ^author/([A-Za-z0-9-\+]+)/?$ author/index.php?username=$1 [NC,L,QSA]
RewriteRule ^authorpost/([A-Za-z0-9-\+]+)/postid/([0-9]+)/?$ author/index.php?username=$1&postid=$2 [NC,L,QSA]

我该怎么改呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-22 15:02:21

所以,如果我理解正确的话,您只需要在URL /author/<username>上附加一个斜杠

.htaccess文件的顶部尝试这样的操作:

代码语言:javascript
复制
RewriteRule ^(author/[A-Za-z0-9+-]+)$ /$1/ [R=302,L]

字符类中的+没有特殊意义,因此不需要转义。连字符(-)应该位于字符类的开头或结尾,以便匹配文字连字符(而不必转义)。

在下面的重写中,您现在可以强制使用尾随斜杠,而不是使它成为可选的。例如:

代码语言:javascript
复制
RewriteRule ^author/([A-Za-z0-9+-]+)/$ author/index.php?username=$1 [NC,L,QSA]

摘要

代码语言:javascript
复制
RewriteEngine On

# Append trailing slash if omitted
RewriteRule ^(author/[A-Za-z0-9+-]+)$ /$1/ [NC,R=302,L]

# Internal rewrites...
RewriteRule ^author/([A-Za-z0-9+-]+)/$ author/index.php?username=$1 [NC,L,QSA]
RewriteRule ^authorpost/([A-Za-z0-9+-]+)/postid/([0-9]+)/?$ author/index.php?username=$1&postid=$2 [NC,L,QSA]

理想情况下,您应该避免在内部重写时使用NC标志,以避免可能重复的内容。至少,这是不必要的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59862013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档