Изменение URL файла без его физического перемещения - PullRequest
2 голосов
/ 21 октября 2011

У меня есть сайт под управлением Linux + Apache.

У меня есть файл в моей корневой директории, скажем, file.php. Я хочу, чтобы URL-адрес файла был "domain.com/newdir/file.php", но я не хочу на самом деле создавать newdir и перемещать файл туда, потому что было бы огромной проблемой обновить все многие ссылки. на моем сайте. Есть ли способ сделать это, то есть сделать файл доступным по новому URL, не перемещая его?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 09 января 2012

Четыре возможных решения, о которых я могу подумать:

  1. Если ваша ОС поддерживает это, создайте символическую ссылку:

    mkdir /home/foo/htdocs/newdir
    ln -s /home/foo/htdocs/file.php home/foo/htdocs/newdir/file.php
    

    ... и убедитесь, что Apache настроен для их отслеживания :

    Options FollowSymLinks
    
  2. Создать Псевдоним или AliasMatch (возможно, излишнее)

  3. Старый добрый mod_rewrite :

    RewriteEngine One
    RewriteRule ^newdir/file\.php$ file.php [L]
    
  4. Уродливо: используйте пользовательскую страницу ошибки 404 сPHP скрипт, который проверяет $_SERVER['REQUEST_URI'].

Я думаю, что стандартные решения - это # ​​1 и # 3.

0 голосов
/ 09 января 2012

На этом сайте: workwith.me , вы можете найти информацию о .htaccess и mod_rewrite.Для вашего примера вы должны сделать файл с именем .htaccess и поместить его в корневой каталог.Файл должен содержать следующие директивы:

RewriteEngine on
RewriteRule ^newdir/file.php$ /file.php [L]

Вы можете сделать это для каждого файла, который вы хотите переименовать .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...