Правильный способ hide.php расширение при создании приложения


Для последнего Проекта веб-сайта (Базовый веб-сайт с контактной формой AJAX+PHP) я использовал приведенный ниже файл .htaccess, чтобы скрыть Расширение. Он отлично работал на сервере Hostgator.

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

## don't touch /forum URIs
RewriteRule ^forums/ - [L,NC]

## hide .php extension snippet

# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L]

# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [L]

Теперь я собираюсь создать новое приложение ( Функциональный и динамичный). Я скопировал файл .htaccess в свой локальный хост/папку приложений/ (WampServer). Также включено rewrite_module. Однако по какой-то причине это не работает на локальном хостинге.

Проверьте сообщение об ошибке, которое я получил в то время как я пытаюсь запустить тот же веб-сайт на локальном хостинге с вышеуказанным .htaccess ( Работает на реальном сервере, но не на локальном хосте)

**Not Found**

    The requested URL /services.php was not found on this server.

    Apache/2.4.9 (Win32) PHP/5.5.12 Server at localhost Port 80

Должен ли я добавлять что-то или я делаю это неправильно. Каков правильный способ достичь этого? Как вы, ребята, это делаете?

Author: anubhava, 2015-08-05

1 answers

Чтобы заставить его работать с подкаталогом appfolder, вам нужно заменить:

RewriteBase /

По

RewriteBase /appfolder/

В противном случае показанный код попытается найти любой файл .php в корне сайта.

 1
Author: anubhava, 2015-08-05 14:31:20