У меня вопрос, я разрабатываю веб-сервис для конкретного приложения. На прошлой неделе я перенесла резервную копию с сервера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:
Рабочая концепция для меня:
# 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