.htaccess:仅当没有子目录时才重写

发布于 2024-10-09 15:03:30 字数 356 浏览 3 评论 0原文

使用此规则:

RewriteCond %{HTTP_HOST} !^www\.domain\.com 
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=permanent,L]

您可以将站点中的每个 URL 重定向到开头加上子域 www. 的 URL。

我遇到的问题是它给我带来了其他子域的一些问题,即我不希望 blog.domain.com 也被重定向。

那么有没有办法制定通用规则来避免重定向已经具有子域的任何内容?

提前致谢!!


我希望问题足够清楚!我您需要任何澄清,请询问!

With this rules:

RewriteCond %{HTTP_HOST} !^www\.domain\.com 
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=permanent,L]

You can make every URL in the site redirect to the URL plus the subdomain www. at the beginning.

The problem I am having is that it is giving me some problems with other subdomains, i.e. I wouldn't want blog.domain.com to me redirected too.

So is there any way to do a generic rule to avoid the redirect of anything that already has a subdomain?

Thanks in advance!!


I hope the question is clear enough!! I you need any clarification please ask for it!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

哎呦我呸! 2024-10-16 15:03:30

是的 - RewriteCond 的正则表达式匹配“任何不是 www.domain.com 的内容”。如果我理解正确的话,您只想匹配domain.com。

就像这样:

RewriteCond %{HTTP_HOST} ^domain\.com$ 
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=permanent,L]

现在如果有人使用domain.com,他们将被重定向。对于包含除domain.com 之外的任何内容的请求,它们将不会被重定向。这包括 www.domain.com 以及 blog.domain.com 以及 dns2.domain.com。

yes - your regex for the RewriteCond matches on "anything that is not www.domain.com". If I understand correctly, you want to match only domain.com.

Like this:

RewriteCond %{HTTP_HOST} ^domain\.com$ 
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=permanent,L]

now if someone uses domain.com, they'll be redirected. For requests that have anything other than domain.com, they will not be redirected. This includes www.domain.com as well as blog.domain.com, as well as dns2.domain.com.

白色秋天 2024-10-16 15:03:30

感谢您哈哈引导我走向正确的方向。

我设法通过 cPanel 做到这一点,我重定向了所有非 www.带有www。带通配符的子域。

抱歉,不知道可以专门这样做。

谢谢大家的回答和评论!!

Thank you haha for leading me in the right direction.

I managed to do it through cPanel, I redirected all non www. with a www. subdomain with wildcards.

Sorry, didn't know it was possible to do specifically this.

Thank you for all the answers and comments!!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文