2015-11-07 4 views
0

Я просмотрел множество вопросов, но, похоже, только нашел решения, чтобы пользователь увидел, например, http://www.example.com/page, но имя файла http://www.example.com/page.php.Выполнять файл без расширения как PHP

Что я ищу, это способ иметь файл, фактически называемый http://www.example.com/page (не page.php), что сервер выполнен как обычный PHP-файл.

Возможно ли это? (Если это так, я думаю, что это, вероятно, сделано в файле .htaccess как-то, но я не уверен.)


EDIT

Итак, я пытаюсь сделать веб-сайт, который использует только один файл, чтобы показать несколько страниц и $_SERVER['PATH_INFO'], чтобы узнать, что показывать. Чтобы он выглядел лучше, я попытался переписать отображаемый URL так, чтобы пользователь увидел .../page вместо .../page.php, но он каким-то образом не узнал информацию о пути при доступе к переписанной странице. (Не уверен, если это имеет смысл, старался изо всех сил, чтобы объяснить.)

+0

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

+0

Это может быть возможно, хотя и очень сомнительно. Попробуйте с комбинацией двух команд 'AddType' и' ForceType', вы можете сделать это в файле стиля .htaccess, если вам действительно нужно. Просто взгляните на документацию: http://httpd.apache.org/docs/current/mod/mod_mime.html#addtype http://httpd.apache.org/docs/current/mod/core.html#forcetype – arkascha

+0

@MagnusEriksson Отредактировано – RafDev

ответ

2

Вы можете использовать, что в вашем .htaccess:

Options -MultiViews 
RewriteEngine on 

# skip all files and directories from rewrite rules below 
RewriteCond %{REQUEST_FILENAME} -d [OR] 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule^- [L] 

# add php if possible 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule^%{REQUEST_URI}.php [L] 

# rewrite other to index.php file 
RewriteRule^/index.php [L] 

и вы можете использовать index.php, чтобы показать несколько страниц (без существующего файла).

Если test.php существует, вы можете использовать его с http://www.exemple.com/test
но если test.php не существует, которые показывают index.php, которые показывают содержание для этой страницы.

+1

Отлично работает на apache 2.4. Благодаря! – Gmeister4

Смежные вопросы