Правильный способ 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
Должен ли я добавлять что-то или я делаю это неправильно. Каков правильный способ достичь этого? Как вы, ребята, это делаете?
1 answers
Чтобы заставить его работать с подкаталогом appfolder
, вам нужно заменить:
RewriteBase /
По
RewriteBase /appfolder/
В противном случае показанный код попытается найти любой файл .php
в корне сайта.