2010-01-21 5 views
0

Я хотел знать, есть ли какие-либо сценарии сценариев, которые я могу использовать, чтобы я мог просто изменить одну мелочь, а затем содержимое изменится для нескольких страниц? Возможно, PHP или файл htaccess.Заменить содержимое страницы перед загрузкой файлов?

Что я хочу сделать, это сделать страницу «Под строительство» для моего сайта, что я могу периодически включать и выключать. Прямо сейчас, метод, который я использую, - это JS, который не слишком эффективен. То, что у меня есть, это заменить содержимое тега тега на содержание страниц под строительство, а затем изменить заголовок, который будет «В стадии разработки». Проблема с этим, функция загружается после загрузки страницы. Поэтому мне нужен либо JS-скрипт, который будет загружаться, прежде чем что-либо на странице, или скрипт php, который сделает что-то около того же самого. Я также подумал (если это было возможно), файл htaccess был бы действительно хорош, потому что я мог бы применить его к определенным каталогам. Я знаю, что я могу использовать файл htaccess для перенаправления пользователя (и я могу сделать это с PHP и JS тоже), но я не хочу этого делать, потому что я хочу, чтобы URL-адрес остался прежним. Если бы я перенаправил пользователя с page1.html на underconstruction.html, это изменит URL-адрес в браузере. Я хочу, чтобы URL-адрес остался как page1.html для page1, page2.html для страницы2 и page3.html для страницы3. Кто-нибудь знает, как я могу выполнить такую ​​задачу? Если да, пожалуйста, помогите.

Спасибо!

ответ

0

Включите ли все ваши страницы в этот скрипт.

UnderConstruction.js:

// Set this to 1 to rewrite the page 
var underConstruction = 0; 

function rewritePage() 
{ 
    if (underConstruction) 
    { 
     document.getElementById ('entirePage').innerHTML = 
      "<h1>Under construction</h1>"; 
    } 
} 

test.html:

<html> 
<head> 
    <title>write example</title> 
    <script type="text/javascript" src="UnderConstruction.js"></script> 
</head> 
<body onload="rewritePage()"> 
    <div id="entirePage"> 
     <p>Some document content.</p> 
    </div> 
</body> 
</html> 
+0

Я пробовал это раньше. Это то, что я сейчас использую. Этот метод отлично работает за то, что функция не вызывается до тех пор, пока страница не закончит загрузку. Есть ли способ сделать это, не загружая сначала первую страницу? –

2

Если вы используете следующий фрагмент кода в файле Htaccess, ваш URL не меняется, но перенаправляет:

RewriteEngine on 
RewriteRule ^(.*)$ ./under_construction.html [L] 
+0

Требуется Apache. –

+0

Я думаю, что у него есть сервер Apache, потому что он говорит, что однажды попробовал htaccess – matte

1

Несомненно, есть возможность взять пример ux9i и переписать его немного:

// Set this to true to rewrite the page 
var underConstruction = true; 

function rewritePage(){ 
    if (underConstruction){ 
     document.getElementById ('entirePage').innerHTML = 
      "<h1>Under construction</h1>"; 
    } 
} 

test.html

<html> 
    <head> 
<script type="text/javascript"> 
window.onload = rewritePage; 
</script> 
     <title>write example</title> 
     <script type="text/javascript" src="UnderConstruction.js"></script> 
    </head> 
    <body> 
     <div id="entirePage"> 
      <p>Some document content.</p> 
     </div> 
    </body> 
    </html> 

Это должно сделать трюк, если бы я тебя, я бы использовать перенаправление вместо этого, вот что я имею в виду:

// Set this to true to rewrite the page 
var underConstruction = true; 

function rewritePage(){ 
    if (underConstruction){ 
location.href = 'contruction.html'; 
    } 
} 

Оставьте html таким, какой он есть. Приветствия

EDIT

Вот как сделать это в PHP, вы будете делать страницы под названием позволяет сказать «construction.html», теперь внутри вашей страницы PHP на первое место этот код

<?php 
$redirect = 1; 
if($redirect == 1){  
header('Location: construction.html'); 
} 
?> 

Он будет напрямую передавать/перенаправлять вас на страницу строительства, если переадресация установлена ​​на один. После того, как вы закончите со строительной страницей, полностью удалите эту часть кода или установите перенаправление на любое другое число рядом с 1.

К сожалению, я только что прочитал эту часть

Если бы я был перенаправить пользователя от page1.html к разработке.html, , что изменит URL-адрес в браузере . Я хочу, чтобы URL-адрес оставался page1.html для страницы1, page2.html для page2 и page3.html для страницы3 ... Кто-нибудь знает, как я могу выполнить такую ​​задачу?

Вы должны позволить другим людям знать, когда вы редактируете свой вопрос, вы должны использовать iframe, попробуйте Google, что такое iframe и как его использовать. Затем вы можете применить ту же логику, что и выше, к iframes.