Переписать URL с .htaccess, чтобы скрыть расширение PHP

У меня вопрос, я разрабатываю веб-сервис для конкретного приложения. На прошлой неделе я перенесла резервную копию с сервера1 на server2, так как с этого момента мой .htaccess больше не будет работать.

URL-адрес моего веб-сервиса: http://apps.holtesdesign.nl/inholland/apiv0/

Этот url отлично работает, чтобы загрузить модуль bugreport: http://apps.holtesdesign.nl/inholland/apiv0/bugreport.php

Но должен был быть URL: http://apps.holtesdesign.nl/inholland/apiv0/bugreport

Когда вы откроете последний URL-адрес, вы увидите, что это приведет к ошибке внутреннего сервера. Вы знаете, как это возможно?

Мой .htaccess выглядит так:

RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^(.*)$ $1.php 

Сервер работает на CentOS, и я уже проверял, работает ли mod_rewrite …

Надеюсь, ты поможешь мне, ребята!

Ура,

Jelmer

Это исправит это:

 RewriteEngine On RewriteCond %{REQUEST_FILENAME}.php -f RewriteCond %{REQUEST_URI} !/$ RewriteRule ^(.*)$ $1\.php 

Если это не работает, исправьте настройки вашего Wamp Server:

  1. Щелкните левой кнопкой мыши значок WAMP
  2. апаш
  3. Модули Apache
  4. Щелкните левой кнопкой мыши элемент rewrite_module.

Рабочая концепция для меня:

 # Options is required by Many HostSevice Options +MultiViews RewriteEngine on # For .php & .html URL's: RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^\.]+)$ $1.php [NC,L] RewriteRule ^([^\.]+)$ $1.html [NC,L] 

Используйте этот код в папке Root вашего веб-сайта в файле .htaccess: Example

offline – wamp \ www \ YourWebDir

онлайн – public_html /

Важное примечание. Если он не работает, исправьте настройки вашего Wamp Server: 1) Щелкните левой кнопкой мыши значок WAMP 2) Apache 3) Модули Apache 4) Щелкните левой кнопкой мыши rewrite_module

Это скроет конечную косую черту и скроет .php в корневых и подкаталогах.

 RewriteEngine On RewriteCond %{THE_REQUEST} ^[AZ]{3,}\s([^.]+)\.php [NC] RewriteRule ^ %1 [R=301,L] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^(.*?)/?$ $1.php [NC,L] 

попробуйте это .. он работает! 🙂

 Options +FollowSymLinks RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^(.*)$ $1.php