Используйте символические ссылки для remove.php расширение -> raw.php файл будет отправлен
Я создал символическую ссылку (используя ln -s index.php тест) на мой index.php чтобы попытаться получить "более красивый" URL-адрес без расширения .php. Однако, когда я обращаюсь к https://myservername.com/test Мне подают необработанный php-файл вместо интерпретированного содержимого.
Я хотел бы избежать необходимости включать mod_rewrite, если это возможно, так как это будет только для этого одного файла (я использую фреймворк CodeIgniter, который выполняет перевод URL-адресов для остальных файлов).
Является есть ли способ для apache прочитать реальный файл назначения вместо символической ссылки, чтобы определить, что это php-скрипт? Есть ли лучший способ добиться этого?
2 answers
Если вы не хотите mod_rewrite (я думаю, что это законно, в прошлом возникали проблемы с безопасностью mode_reqrite, если вам это не нужно, зачем его использовать?):
Alias /index /var/ww/mydocumentroot/index.php
Псевдоним предоставляется mod_alias, который у вас должен быть. Удалить символическую ссылку.
Держу пари, проблема в том, что Apache вызывает интерпретатор PHP только для файлов с расширением .php
, и поскольку ваши символические ссылки не имеют никакого расширения, они не интерпретируются.
Попробуйте вместо этого использовать mod_rewrite или попробуйте поработать с директивами Apache, такими как FollowSymLinks - не уверен, применимо ли это здесь. Вы не хотите включать анализатор PHP для всех файлов, это точно.