Как правильно перенаправить запрос к несуществующему файлу PHP в существующий DIR? - PullRequest
0 голосов
/ 24 июня 2009

Один из моих клиентов попросил меня создать веб-приложение на PHP, в итоге я использовал Symfony. При доставке он сказал мне, что распространил программное обеспечение со встроенным веб-представлением, указывающим на жестко запрограммированный URL:

www.domain.com / реж / tools.php

Теперь он хочет, чтобы веб-приложение отображалось в его веб-представлении, но этим программным обеспечением пользуются около 400 клиентов, и мы не можем ожидать, что измененный URL-адрес будет изменен.

Как вы думаете, я могу сделать это чистым способом:

  • Создать www.domain.com/dir/tools.php и использовать перенаправление? Какой и как?
  • Использовать перезапись URL? Любые фрагменты оценены, я понятия не имею, как это сделать.

Ответы [ 3 ]

8 голосов
/ 24 июня 2009

Apache mod_rewrite :

RewriteEngine on
RewriteRule   ^dir/tools\.php$   new_page.php   [R=301]

РЕДАКТИРОВАТЬ: Как уже отмечалось, это идет в вашем файле .htaccess. Связанная с mod_rewrite документация содержит больше информации. Исправлено.

1 голос
/ 24 июня 2009

В конфигурации Apache для хоста или в файле .htaccess вы можете выполнить перенаправление:

Redirect 301 /dir/tools.php http://www.example.com/whatever
0 голосов
/ 24 июня 2009

Использовать перезапись URL.

Перезапись URL осуществляется с помощью нескольких строк конфигурации в вашем веб-сервере . Он не реализован в вашем собственном веб-приложении, поэтому вы не будете использовать PHP для его реализации. Вы будете сообщать своему веб-серверу, что любой запрос, запрашивающий «/dir/tools.php», будет изменен, прежде чем он когда-либо попадет в ваше веб-приложение PHP, для запроса любого URL, который вы хотите запросить. Например, вы можете указать, что любой запрос с запросом «/dir/tools.php» должен быть переписан с запросом «/ my-custom-dir / my-tools /».

Каждый веб-сервер по-разному переписывает URL. Зачастую веб-сервер поддерживает не эту функцию с минимальным набором готовых функций, а через дополнение, которое вы можете установить. Вам следует ознакомиться с документацией к вашему веб-серверу, чтобы узнать, как настроить его для выполнения перезаписи URL.

...