2010-06-21 5 views
0

Это одно из легких. Как я могу перенаправить людей, идущих к:Перенаправить example.com/blog/ в example.com/blog/newarticle.html?

http://example.com/blog/ 

Для этого:

http://example.com/blog/somespecificurl/ 

У меня есть только один пост в данный момент, и хотите, чтобы он просто перенаправить на сообщение с помощью .htaccess.

Спасибо!

ответ

0

То, что вы ищете, называется переписыванием URL. Вот учебник о том, как это сделать:

http://www.yourhtmlsource.com/sitemanagement/urlrewriting.html

Хотя я .NET парень, и обычно делают это, используя механизм маршрутизации ASP.NET, я думаю, что это будет делать то, что вам это нужно:

RewriteRule^блог (/) $/блог/somespecificurl/

+0

Это не похоже на трюк. Я буду продолжать пытаться. RewriteRule^guide (/)? $/Guide/college-student-laptop-guide-2010/ –

+0

Взгляните на мой ответ, надеюсь, он устранит проблему. – AriX

0

Если нет доступа к конфигурации сервера, а просто хочу сделать это в HTML, вы можете сделать это следующим образом:

(в заголовке http://site.com/blog/index.html)

<meta HTTP-EQUIV="REFRESH" content="0;url=http://site.com/blog/somespecificurl/"> 

0 - количество секунд, которое нужно ждать, чтобы перенаправить.

+0

Как я мог это сделать (перенаправление 302) в файле .htaccess? Спасибо –

+0

О, извиняюсь. AriX ответил правильно: RewriteRule^blog (/)? $ /Blog/newarticle.html [R] – cactusbin

1

До тех пор, пока у вас есть mod_rewrite включен в конфигурации Apache, вы можете просто сделать файл .htaccess с этим содержимым:

RewriteEngine on 
RewriteRule ^blog(/)?$ /blog/newarticle.html [R] 

RewriteEngine линия имеет важное значение, потому что он говорит Apache на самом деле обратить внимание на RewriteRule. Если RewriteEngine on задан по умолчанию, это необязательно, но во многих случаях оно не указывается по умолчанию. [R] означает, что URL-адрес переписывается как новый HTTP-запрос, вызывая фактическое полномасштабное перенаправление (это не нужно, это зависит от того, что вы ищете).

В качестве альтернативы вы можете использовать мета-обновление HTTP, которое проще, но требует загрузки страницы до того, как произойдет перенаправление, или вы можете использовать перенаправления PHP, если у вас включен PHP на сервере. Если да, попробуйте это в /blog/index.php:

<?php 
header('Location: /blog/newarticle.html'); 
?> 
+0

Спасибо, но я не могу заставить это работать. RewriteRule^guide (/)? $/Guide/college-student-laptop-guide-2010/[R] –

+0

Даже с RewriteEngine? Кроме того, вы попробовали решение на базе PHP? Это немного проще. – AriX

Смежные вопросы