Как сделать так, чтобы мои страницы на сайте отображались, как site.ru/folder1/page1/?
добрый день
есть сайт site.ru
страницы сейчас отображатся, как
site.ru/page1.html
(сами страницы в формате .php и через правило в .htaccess они форматируются в .html)
я хочу, чтобы мои страницы на сайте отображались, как
site.ru/folder1/page1/
подскажите, пожалуйста, какие изменения мне внести в .htaccess
чтобы при открытии файла в site.ru/folder1/page1.php он отображался, как site.ru/folder1/page1/ ?
дополнение:
если создать папку site.ru/folder1/ и поместить в нее file1.html то он откроется по пути site.ru/folder1/file1.html, но если создать file1.php, то ничего не откроется
dodo512, добрый день
немного изменил .htaccess
теперь он выглядит так:
RewriteEngine On
# Перенаправляем URL с .html на URL без расширения
RewriteCond %{THE_REQUEST} \.html
RewriteRule ^(.+)\.html$ /$1 [R=301,L]
# Перенаправляем URL с .php на URL без расширения
RewriteCond %{THE_REQUEST} \.php
RewriteRule ^(.+)\.php$ /$1 [R=301,L]
# Убираем расширение .php из URL
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
# Перенаправляем /index.php и /index.html на главную страницу /
RewriteRule ^index\.(php|html)$ / [R=301,L]
в корне сайта есть page1.php - и он является страницей
так же в корне сайта есть папка page1/ в которой лежат файлы
спасибо за помощь, тему можно закрывать
нашел решение самостоятельно:
RewriteEngine On
# Перенаправляем URL с .html на URL без расширения
RewriteCond %{THE_REQUEST} \.html
RewriteRule ^(.+)\.html$ /$1 [R=301,L]
# Перенаправляем URL с .php на URL без расширения
RewriteCond %{THE_REQUEST} \.php
RewriteRule ^(.+)\.php$ /$1 [R=301,L]
# Убираем расширение .php из URL
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
# Перенаправляем /index.php и /index.html на главную страницу /
RewriteRule ^index\.(php|html)$ / [R=301,L]
# Добавляем правило для открывания URL как файла, а не директории
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^([^/]+)/$ /$1 [R=301,L]
# Проверяем, существует ли файл с расширением .php или .html
RewriteCond %{REQUEST_FILENAME}.php -f [OR]
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.+[^/])/$ /$1.php [L]
# Новое правило для перенаправления с folder1/ на folder1.php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ /$1.php [NC,L]