#.htaccess
#.htaccess
Вопрос:
У меня есть URL: example.com/files/console/ Я хочу, чтобы это было: example.com/console/ Но в то же время папка консоли имеет свой собственный набор URL-адресов.
Это мой текущий раздел перезаписи htaccess:
<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,E=Cache-Control:max-age=12000]
RewriteRule ^files/(.*)$ files/console/$1 [L,R=301]
SetEnvIfNoCase Request_URI "(.*)" no-gzip -vary
</IfModule>
Это не работает. У меня есть 1 файл в корневом каталоге, который называется index.php который обрабатывает все запросы внешнего интерфейса сайта и работает безупречно. Затем я хочу создать серверную часть, сохраняя при этом структуру папок в порядке, следовательно, каталог /files/ .
Поэтому я хочу удалить файлы / каталог из URL-адреса where .com/console/blog.php прочитал бы .com/console/blog и запустил бы правильный файл…
Я уже обсуждал здесь так много тем, проверил «рабочий код» каждого, он просто не работает.
Комментарии:
1. Спасибо, что показали ваш файл htaccess, не могли бы вы, пожалуйста, более четко указать примеры URL-адресов, с какого URL-адреса на какой URL-адрес вы хотите переписать / перенаправить, что даст нам лучшее понимание вашего вопроса, спасибо.
2. @RavinderSingh13 Я упоминал об этом выше примера кода, но это example.com/files/console / — это место, где хранятся файлы. Я хочу показать в браузере, example.com/console/ У меня там несколько страниц, например index.php , add.php , edit.php и так далее, что все должно работать как example.com/console/edit например, без расширения php.
Ответ №1:
Вы можете попробовать использовать эти правила в корневом каталоге вашего сайта .htaccess:
SetEnvIfNoCase Request_URI "(.*)" no-gzip -vary
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteRule ^console/ files%{REQUEST_URI} [L,NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(. ?)/?$ $1.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA,E=Cache-Control:max-age=12000]