2013-06-04 3 views
10

Я хотел бы ссылки на страницы внутри моего сайта, например: Не: mywebsite.com/about.html Но: mywebsite.com/about/Как ссылаться на страницы без расширения .html?

Я видел различные веб-сайты делают это, но это выглядит как они также реагируют по-разному на вещи:

Apple.com: apple.com/iphone/ works, apple.com/iphone/index.html работает, apple.com/iphone перенаправляет.

Opera.com: opera.com/mobile/ перенаправляет, opera.com/mobile работ, opera.com/mobile.html делает не работу.

Mozilla.com: mozilla.org/en-US/ работает, mozilla.org/en-US перенаправляет, mozilla.org/en-US/index.html делает не работу.

Это приводит к другому вопросу: существуют ли для этого разные методы?

Редактировать: Кажется, что Apple использует папку для каждой страницы, например. папка под названием «iphone» с файлом index.html внутри нее? Но Opera и Mozilla что-то используют в файле .htaccess?

+0

Проверьте .htaccess – Matheno

+2

Это называется перезаписи URL ... теперь это ваша отправная точка, идите и прочитайте :-) –

ответ

6

Используются .htaccess и URL rewriting. Это часть конфигурации сервера. Вы не можете делать это только с помощью html.

Этот page объясняет основы перезаписи URL-адресов.

+0

Переписывает ли URL-адрес в файле .htaccess? И все они используют разные .htaccess и/или переписывать URL-адреса? – user2451987

+0

Да. Вы можете определить правила ализации в вашем .htaccess. На этом сайте есть много веб-сайтов. Посмотрите на хороший пример @ Marijke. – ibi0tux

5

Затем папка должна содержать файл: index.*. Как: /iphone/index.html, который может быть/iphone/а

Или работать с .htaccess

+1

Что лучше использовать? Быстрее, чем другое или более стабильное? – user2451987

+1

зависит от цели. Если вы хотите, чтобы ваш сайт обрабатывался через foo.com/folder/, вы можете использовать 'index. *', Потому что он намного проще и менее сложным. – mutex36

10

Удаление расширений

Чтобы удалить расширение .php из PHP-файл для примера YourSite. ком/wallpaper.php к yoursite.com/wallpaper нужно добавить следующий код в файл .htaccess:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 

Если вы хотите, чтобы удалить расширение .html из HTML-файла для примера yoursite.com/ wallp aper.html к yoursite.com/wallpaper вы просто должны изменить последнюю строку кода выше, чтобы соответствовать имени файла:

RewriteRule ^([^\.]+)$ $1.html [NC,L] 

Вот оно! Теперь вы можете связывать страницы внутри документа HTML, не добавляя расширение страницы. Например:

<a href="http://whatever.com/wallpaper" title="wallpaper">wallpaper</a> 
0

В файле .htaccess в ваших сайтах корневой папки просто добавьте следующую строку:

# ---- Render pages without urls 
Options +MultiViews 
1

Сделать атрибут вашей HREF равно страницу вы хотите связать или .. Если вы необходимо, чтобы переместился вверх по каталогу.

Ex: href = "contact.html" Ex: href = "../ links/contact.html "

Смежные вопросы