Можно ли проверить, существует ли страница в папке, используя .htaccess?

Iliabel

Пользователь
Регистрация
03.10.12
Сообщения
2
Реакции
0
Баллы
1
В настоящее время я не использую CMS для своего сайта. Я просто создаю страницы в формате .php и помещаю их на свой сервер.

Предположим, что я поместил свои обучающие статьи в папку /tutorial, а новостные статьи — в папку /news. Исходные URL-адреса этих статей будут выглядеть так:


Код:
[URL='https://wmlogs.com/yti/Zw22wZS9odHRwOi8vbXlzaXRlLmNvbS90aGUtdGl0bGUtb2YtYS10dXRvcmlhbC1hcnRpYRnc']http://www.mysite.com/the-title-of-a-tutorial-article/[/URL]
[URL='https://wmlogs.com/yti/ZAbbAZS9odHRwOi8vbXlzaXRlLmNvbS90aGUtdGl0bGUtb2YtYS1uZXdzLWFydGljGdy']http://www.mysite.com/the-title-of-a-news-article/[/URL]


Код (разметка): используя переписывание URL-адресов, я сделал URL-адреса более красивыми, удалив расширение файла и добавив косую черту в конце:
[URL='https://wmlogs.com/yti/Zw22wZS9odHRwOi8vbXlzaXRlLmNvbS90dXRvcmlhbC90aGUtdGl0bGUtb2YtYS10dXRvcmlhbC1hcnRpYRnc']http://www.mysite.com/tutorial/the-title-of-a-tutorial-article/[/URL] [URL='https://wmlogs.com/yti/ZsNNsZS9odHRwOi8vbXlzaXRlLmNvbS9uZXdzL3RoZS10aXRsZS1vZi1hLW5ld3MtYXJ0aW0JX']http://www.mysite.com/news/the-title-of-a-news-article/[/URL]
Код (разметка): Вот вопрос. Что, если я захочу сделать URL-адреса еще красивее, удалив имена папок? Вот как я хочу, чтобы они выглядели:
[URL='https://wmlogs.com/yti/aAnnAaHBodHRwOi8vbXlzaXRlLmNvbS90dXRvcmlhbC90aGUtdGl0bGUtb2YtYS10dXRvcmlhbC1hcnRpY2xlLx2Y']http://www.mysite.com/tutorial/the-title-of-a-tutorial-article.php[/URL] [URL='https://wmlogs.com/yti/aw55waHBodHRwOi8vbXlzaXRlLmNvbS9uZXdzL3RoZS10aXRsZS1vZi1hLW5ld3MtYXJ0aWNsZSsNW']http://www.mysite.com/news/the-title-of-a-news-article.php[/URL]
Код (разметка): Можно ли это сделать в .htaccess?
Можно ли проверить, существует ли страница в папке, используя .htaccess?
Обратите внимание, что у меня также есть некоторые базовые страницы, такие как страница «О нас» и страницы «Контакты» в корневой папке, которые имеют один и тот же формат URL-адресов (http://www.mysite.com/about-us/, http://www.mysite.com/contact-us/, и т. д). И у меня также есть папки, такие как /css и /js, для хранения моих файлов css и js.

Если это можно сделать в .htaccess, я предполагаю, что подход заключается в проверке наличия запрошенной страницы в /tutorial, /news или корневой папке. Найдя его, отобразите его; в противном случае перенаправить на страницу 404. Но у меня нет идеала относительно того, как следует писать код. Поэтому некоторые советы будут высоко оценены. И я надеюсь, что такой подход не приведет к заметному замедлению времени ответа сервера.
 

Ксения4

Пользователь
Регистрация
07.02.13
Сообщения
1
Реакции
0
Баллы
1
Чтобы удалить каталог из URL-адреса, вы можете использовать следующее правило htaccess:
Код:
RewriteEngine On
RewriteRule ^folder_to_remove/(.*)$ /$1 [L,R=301]
Код (разметка):
 
Сверху Снизу