Используйте символические ссылки для remove.php расширение -> raw.php файл будет отправлен


Я создал символическую ссылку (используя ln -s index.php тест) на мой index.php чтобы попытаться получить "более красивый" URL-адрес без расширения .php. Однако, когда я обращаюсь к https://myservername.com/test Мне подают необработанный php-файл вместо интерпретированного содержимого.

Я хотел бы избежать необходимости включать mod_rewrite, если это возможно, так как это будет только для этого одного файла (я использую фреймворк CodeIgniter, который выполняет перевод URL-адресов для остальных файлов).

Является есть ли способ для apache прочитать реальный файл назначения вместо символической ссылки, чтобы определить, что это php-скрипт? Есть ли лучший способ добиться этого?

Author: Vertigo, 2011-01-19

2 answers

Если вы не хотите mod_rewrite (я думаю, что это законно, в прошлом возникали проблемы с безопасностью mode_reqrite, если вам это не нужно, зачем его использовать?):

Alias /index /var/ww/mydocumentroot/index.php

Псевдоним предоставляется mod_alias, который у вас должен быть. Удалить символическую ссылку.

 2
Author: regilero, 2011-01-19 19:24:43

Держу пари, проблема в том, что Apache вызывает интерпретатор PHP только для файлов с расширением .php, и поскольку ваши символические ссылки не имеют никакого расширения, они не интерпретируются.

Попробуйте вместо этого использовать mod_rewrite или попробуйте поработать с директивами Apache, такими как FollowSymLinks - не уверен, применимо ли это здесь. Вы не хотите включать анализатор PHP для всех файлов, это точно.

 3
Author: Alix Axel, 2011-01-19 16:41:22