Jump to content
  • Sign Up
  • 0

Перенаправление php


horprogs
 Share

Question

Всем привет!

Есть страница на php, например about.php. Сервер (nginx) настроен так, что при несуществующей странице идет перенаправление на index. То есть, если ввести xxx.ru/about идет перенапрвление на индекс, типа страницы не существует. Так вот вопрос: как сделать обработку так, чтобы происходил редирект с xxx.ru/about на xxx.ru/about.php.

Сисадмины говорят, что такая обработка происходит не со стороны сервера.

То есть мне что то нужно прописать в индекс, как я понимаю. 

$_SERVER["HTTP_REFERER"]; и $_SERVER["REQUEST_URI"]; использовать не получается, т.к. определяют только путь с расширением

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Нет, тут в другом логика. Не в том что не умеют, а в том, что так не делают, типа если будет перенос проекта, то все потеряется. И поэтому это делают на стороне проекта

Link to comment
Share on other sites

  • 0


<?php
//ну тогда что-то типо такого
$q = $_REQUEST['q'];//имя переменной которая содержит оригинальный адрес. её нужно добавлять к адресу там же где происходит переадресация на index.php
if(file_exists($_SERVER['DOCUMENT_ROOT'].$q.'.php')){
header('Location: '.$q.'.php');
}
Link to comment
Share on other sites

  • 0

Нет, тут в другом логика. Не в том что не умеют, а в том, что так не делают, типа если будет перенос проекта, то все потеряется. И поэтому это делают на стороне проекта

что потеряется? файл .htaccess? примерно так:

RewriteCond %{REQUEST_URI} ^/(*.php)/$RewriteRule ^.*$ http://site.ru/([A-Za-z_0-9]+)/? [R=301,L]

не проверял на работоспособность.

Link to comment
Share on other sites

  • 0

Спасибо всем! С редиректом более менее разобрался.

Следующий вопрос появился: организовать ЧПУ отдельно для сайта, используя Nginx. То есть, нужно просто не показывать расширения в аресной строке. Показывать вместо xxx.ru/page.php -> xxx.ru/page
И получается, можно это сделать на стороне проекта. Вот только как?

Link to comment
Share on other sites

  • 0

Ребят, всем спасибо. Вопрос решил.

Решение: при несуществующих файлах идет перенаправление на index. Там прописал, в зависимости от $_SERVER['REQUEST_URI'] инклудами выводить нужные страницы. 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Similar Content

    • Pomojenko
      By Pomojenko
      Буду благодарен в помощи, облазил весь интернет ничего не нашел, информацию могу оплатить, в долгу не останусь
       
      Есть сайт www.sait-x.com который нужно отобразить по средствам iframe в сайте www.sait-y.com
      для сайта www.sait-y.com, index.html :
      <html>
      <body style=margin:0px; padding: opx;">
      <iframe src="www.sait-x.com" frameborder="0" scrolling="yes" height="100%" width="100%">
      </iframe>
      </body>
      </html>
       
      Подскажите пожалуйста, очень важно, можно ли сделать на определенную страницу редирект? пример www.sait-x.com отображается полностью в www.sait-y.com а вот страница - www.sait-x.com/new в сайте будет перенаправлена допустим на страницу www.sait-y.com/new1 Или невозможно путем iframe такое выполнить?
    • VeniVidiVici
      By VeniVidiVici
      Убираю расширение .php страницы таким кодом:
      RewriteRule ^([^.?]+)$ %{REQUEST_URI}.php [L] Url отображается нормально без .php - www.site.ru/example
      но если напрямую прописать в url название страницы с расширением .php то отображается url вида -   www.ysite.ru/example.php 
      Как это исправить? думаю прописать редирект вручную для каждой страницы(о_О), типа:
      Redirect 301 /example.php www.site.ru/example но может, есть более универсальное решение?
    • Марат
      By Марат
      Здравствуйте!
       
      Хочу настроить редирект с одной страницы сайта на другую страницу с помощью файла 'redirect.php':
       
      <?php $URL="";header("Location:$URL");exit();?> 1. Могу ли я сделать с помощью одного файла 'redirect.php' несколько редиректов (с нескольких страниц на другие страницы) ? 2. Как я могу посчитать количество редиректов (можно в простой текст. файл) ? Спасибо большое?
    • virtas
      By virtas
      Суть заключается в том что есть около 50 ссылок старого сайта и 50 нового ( новый сайт уже готов нужно сделать редирект ссылок на новый).
      Посоветуйте как лучше поступить !? установить плагин или прописать определенный код , если вас не затруднит скажите! как правильно какой и куда.
    • ludio
      By ludio
      при использувании .htaccess что бы основной домен сделать без WWW выкидывает ошибку!
      может ли быть причина в том что хостинг бесплатный? Beget 
      или все таки не могу правильно написать .htaccess?
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy