0

我将 Codeigniter 与标准的 .htaccess 重写规则一起使用,以便在 url 中看不到 /index.php/。

现在我最近需要暂时关闭该网站,因此想将每个人重定向到“关闭”页面。以下工作:

$route['default_controller'] = "down";
$route['(:any)'] = "down";

但我知道在这种情况下,301 真的很合适。

我应该如何以及在哪里设置它?我看不到在 routes.php 中指定它的方法,并且由于现有规则而对如何在 .htaccess 中执行它感到困惑......

RewriteBase /

RewriteCond %{REQUEST_URI} ^_system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

RewriteCond %{REQUEST_URI} ^myapp.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

RewriteCond $1 !^(index\.php|resources|files|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 
4

1 回答 1

1

您不想要 301 重定向。301 表示“永久”,这应该只是一个临时重定向。如果您将其添加到所有其他规则之上,则可以使用 htaccess 执行此操作:

RewriteRule ^ /down.html [L,R=302]

只要它高于任何其他规则,那么任何请求都会被重定向到/down.html. 如果您不想从外部重定向浏览器(例如,让/down.htmlURL 显示在 URL 地址栏中),,R=302则从方括号中删除该位,并且 URL 地址栏将保持不变,而提供的内容来自 down.html .

于 2012-10-19T02:41:11.330 回答