хотите перенаправить страницу html как дополнительную страницу другой страницы - PullRequest
0 голосов
/ 03 августа 2020

Как и в wordpress, вы можете сделать страницу как подстраницу другой страницы, как это сделать с HTML файлами с помощью .htaccess? У меня есть HTML страниц на моем сайте, таких как

ab c .com / 1. html и ab c .com / 2. html

Я хочу чтобы удалить расширение .html, подобное этому

ab c .com / 1 и ab c .com / 2

И я хочу, чтобы ab c .com / 2 перенаправить на

ab c .com / 1/2 Пожалуйста, помните, что 1 в этом URL-адресе не является папкой. Оба эти URL-адреса ab c .com / 1 и ab c .com / 2 находятся в одной папке.

Как это сделать.

Ответы [ 2 ]

0 голосов
/ 03 августа 2020

Чтобы использовать регулярное выражение, лучше использовать mod_rewrite, который более мощный, чем mod_alias.

Включите mod_rewrite

RewriteEngine On
RewriteBase /

RewriteRule ^answer-now(/.*|)$ http://www.abc..net/2/? [L,NC,R=301]
0 голосов
/ 03 августа 2020

Чтобы замаскировать расширения файлов, сначала включите MultiViews в файле конфигурации VirtualHost или .htaccess:

Options +MultiViews

Затем вы можете просто предоставить гиперссылки без расширения .html. HTTP-сервер будет искать файл, добавляя собственное расширение. Но вы также можете добавить правило перезаписи в свой .htaccess:

RewriteCond %{THE_REQUEST} /([^.]+)\.html
RewriteRule ^ /%1 [R=301]

Здесь вы получаете %{THE_REQUEST} и анализируете его, чтобы перезаписать URL без .html в конце имени файла.

Чтобы перенаправить 1/2/ на 2/:

RewriteRule ^1/2/(.*)$ 2/$1

Обратите внимание, что в этом втором правиле вы не используете флаг [R], потому что вы не хотите изменять URL-адрес в браузер.

Не забудьте включить RewriteEngine перед использованием правил перезаписи:

RewriteEngine On

Для получения дополнительной информации о перезаписи URL: https://httpd.apache.org/docs/2.4/rewrite/intro.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...