Удалите .php из URL с помощью htaccess
РЕДАКТИРОВАТЬ: текущий файл .htaccess:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
## 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 %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.*?)/?$ $1.php [L]
Мой сайт размещен в подпапке домена, подключенного к большой учетной записи хостинга.
basesite
/iioengine
/forums
/.htaccess //file works
/.... //other MyBB content
/demos.php
/index.php //iioengine.com (homepage)
/.htaccess //file doesn't work
/... //other iioengine php pages
Проблема в том, что я использую два разных файла htaccess?
Вот ссылка, которая должна работать:http://iioengine.com/demos
Я заметил, что этот текущий файл htaccess нарушает все URL-адреса форумов.
Это больше не работает:http://iioengine.com/forums/Forum-Box2D
РЕДАКТИРОВАТЬ: Спасибо за открытие, я добился определенного прогресса. Вот мой текущий файл htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
</IfModule>
Я все еще получаю 404 страницы, но если я вставлю эту строку в:
RewriteRule . /index.php [L]
все не-. php-запросы перенаправляются на домашнюю страницу ... Таким образом, mod_rewrite определенно включен, он просто не работает правильно. Кто-нибудь знает, в чем может быть проблема?
РЕДАКТИРОВАТЬ: Этоне дубликат - ни одно из других решений не работает для меня. Мой вопрос несуществуют ли решения, егопочему они не работают на меня, Никто не смог решить эту проблему, я пробовал много решений сам. Разве смысл этого форума не в том, чтобы найти решение конкретных проблем?
Позвольте мне уточнить ...
MyBB работает в подпапке, и его перезаписи работают нормально. Эта ссылка, например, работает:http://iioengine.com/forums/Forum-Box2D
Все php-страницы, которые не являются частью MyBB, все еще имеют расширение .php в своих URL-адресах - я пытаюсь удалить их, но ничего не работает. Пример:http://iioengine.com/demos
... [оригинальный пост]
Очевидно, есть много информации об этом, но я попробовал почти дюжину различных решений и не прошел страницу 404.
Вот мой сайт:http://iioengine.com/все страницы являются php, и все, кроме домашней страницы и всех страниц форумов, имеют «.php» в конце своего URL, который я хотел бы удалить.
В дополнение к перенаправлению запросов не «. Php» на правильные страницы, я также хотел бы удалить часть «.php», даже если она является частью запроса (поскольку весь мой контент уже указывает «.php» в своем запросе). гиперссылок).
Это то, что я до сих пор, в основном взяты изэта почта, но это не работает, я получаю страницу 404.
RewriteEngine on
RewriteBase /
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.*)$ $1.php [L,QSA]
RewriteCond %{REQUEST_URI} ^/(.*).php$
RewriteRule ^(.*)$ %1 [L,QSA]
Что мне нужно в моем файле htaccess, чтобы удалить расширение файла из URL во всех случаях? Спасибо