htaccess 的一些问题!

发布于 2024-08-03 14:33:00 字数 442 浏览 5 评论 0原文

我怎样才能将我的用户从 example.com / 或 www.example.com 重定向到 new.example.com

但我不想重定向某些特定的网址,例如:

www.example.com/test.php
api.example.com/testo.php
www.example.com/forum/index.php

我做了:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^(.*)$ http://new.example.com/$1 [R=301,L]

但是规则是什么网址?

How can I redirect my users from example.com / or www.example.com to new.example.com

but I dont want to redirect some specific urls like:

www.example.com/test.php
api.example.com/testo.php
www.example.com/forum/index.php

I did:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^(.*)$ http://new.example.com/$1 [R=301,L]

but what is the rules for urls?

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

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

发布评论

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

评论(1

ま昔日黯然 2024-08-10 14:33:00

执行此操作的一种方法是在 .htaccess 文件的早期部分为仅重定向到自身的特定 URL 创建其他规则(在内部,不使用 3XX 响应),然后使用 L 标志,以便不会为这些 URL 处理后续规则。

例如:

RewriteEngine on

# don't redirect these
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^(/test.php)$ \1 [L]

RewriteCond %{HTTP_HOST} ^api.example.com$
RewriteRule ^(/testo.php)$ \1 [L]

RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^(/forum/index.php)$ \1 [L]

# redirect these
RewriteCond %{HTTP_HOST} ^example.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^(.*)$ http://new.example.com/$1 [R=301,L]

我不确定您的“不重定向”要求是否包含主机名。如果没有,则只需删除 RewriteCond 行即可。

One way to do this is to create additional rules earlier in the .htaccess file for the specific URLs that just redirect to themselves (internally, not using a 3XX response), and then use the L flag so no later rules are processed for those URLs.

For example:

RewriteEngine on

# don't redirect these
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^(/test.php)$ \1 [L]

RewriteCond %{HTTP_HOST} ^api.example.com$
RewriteRule ^(/testo.php)$ \1 [L]

RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^(/forum/index.php)$ \1 [L]

# redirect these
RewriteCond %{HTTP_HOST} ^example.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^(.*)$ http://new.example.com/$1 [R=301,L]

I'm not sure if your "don't redirect" requirements included the hostname. If not, then just remove the RewriteCond lines.

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