htaccess - 将所有请求重定向到域根目录

发布于 2024-10-22 01:07:52 字数 692 浏览 0 评论 0原文

我有一个不再需要运行的网站,并且有一个保留页面设置来声明它不再可用。对网站上页面(添加书签或以其他方式)的所有请求都需要发送到此页面,即根 index.php 页面,因此我使用一些 htaccess 来相应地重定向它。

我目前正在使用这个:

RewriteCond %{REQUEST_URI} !^/index.php$
RewriteRule ^(.*)$ /index.php [R=302,NC,L]

它可以完成这项工作,但将 index.php 添加到 url - 即。 www.domain.com 转到 www.domain.com/index.php

如果只有 www.domain.com 会更好,但显然我不能使用以下方法来做到这一点:

RewriteCond %{REQUEST_URI} !^/$
RewriteRule ^(.*)$ / [R=302,NC,L]

它给出了一个页面未正确重定向的错误火狐浏览器。

我希望上面的内容能够检查 REQUEST_URL 是否不是 / - 即。 www.domain.com 然后将其重定向到 / 例如。 www.domain.com/dave.php -> www.domain.com - 因此 www.domain.com 通过,但其他所有内容都被重定向......它实际上在做什么以及如何让它做我想要的事情?

I have a site that is no longer needed live and has a holding page setup to state that it's no longer available. All requests to pages on the site (bookmarked or otherwise) need to be sent to this page which is the root index.php page, so I'm using some htaccess to redirect it accordingly.

I'm currently using this:

RewriteCond %{REQUEST_URI} !^/index.php$
RewriteRule ^(.*)$ /index.php [R=302,NC,L]

which does the job, but adds index.php to the url - ie. www.domain.com goes to www.domain.com/index.php

It'd be much nicer to have just www.domain.com, but apparently I can't do that using:

RewriteCond %{REQUEST_URI} !^/$
RewriteRule ^(.*)$ / [R=302,NC,L]

It gives a page not redirecting properly error in firefox.

I'd have expected the above to check to see if the REQUEST_URL isn't / - ie. www.domain.com and then redirect it to / eg. www.domain.com/dave.php -> www.domain.com - thus www.domain.com passes, but everything else is redirected... what's it actually doing and how to I get it to do what I want it to?

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

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

发布评论

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

评论(2

西瓜 2024-10-29 01:07:52

只需像这样使用它:

RewriteRule ^.+$ / [R=302,NC,L]

它将所有不匹配 / 的内容重定向到 /

Just use it like this :

RewriteRule ^.+$ / [R=302,NC,L]

It will redirect all that don't match / only to /.

蓝眸 2024-10-29 01:07:52

你的问题解决了吗?如果没有,您是否尝试过:

RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule . /index.php [L]

Is your problem solved? If not, have you tried:

RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule . /index.php [L]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文