Загрузить ту же страницу с разными URL? - PullRequest
1 голос
/ 07 января 2012

Я хочу создать одну страницу, например:

http://www.mywebsite.com/special/index.html

Но все, что находится в папке / special /, должно загружать страницу index.html. Например, если вы идете на

http://www.mywebsite.com/special/another-page.html

Он по-прежнему должен загружать страницу индекса, но не изменять URL-адрес в браузере или в поисковых системах. По сути, вы должны иметь возможность перейти на любую страницу в папке / special /, оставить такой же URL-адрес, как вы вводите, но всегда загружать страницу index.html. Есть идеи?

Перенаправление 404 или 301 не будет работать, потому что это изменяет URL в браузере и в поисковых системах ...

Заранее спасибо!

Ответы [ 3 ]

1 голос
/ 07 января 2012

Используя apache mapping это должно быть возможно. Я не знаю, как именно это сделать, но этот документ http://httpd.apache.org/docs/2.0/urlmapping.html, вероятно, имеет ответ.

Можно использовать шаблоны для сопоставления URL-адресов с местоположениями файловой системы.

1 голос
/ 07 января 2012

Перенаправление 404 не помогло бы, но пользовательский обработчик 404:

error404.php:

<?php
include('path/to/special/index.html');
?>

Предполагается, что .html - это статическая страница или страница PHP. Если это что-то еще, вы используете эквивалентную конструкцию этой среды.

0 голосов
/ 07 января 2012

Я думаю (не проверено), что-то подобное будет работать в файле .htaccess в специальном каталоге, если у вас есть возможность использовать правила перезаписи:

RewriteRule ^.*$ index.html

Вы должны использовать символическую ссылку index.html вспециальный каталог для реального index.html.

^.*$ означает просто (начало строки) (любое количество чего-либо) (конец строки) - в основном, подстановочный знак;возможно, есть лучший способ написать это.

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