2013-06-04 11 views
10

Chciałbym odwołuje się do stron wewnątrz mojej stronie, np: Nie: mywebsite.com/about.html Ale: mywebsite.com/about/Jak utworzyć łącze do stron bez rozszerzenia .html?

Widziałem różnych stron internetowych robi to, ale wygląda na to, również inaczej reagować na rzeczy:

Apple.com: apple.com/iphone/ works, apple.com/iphone/index.html działa, apple.com/iphone przekierowania.

Opera.com: opera.com/mobile/ przekierowania, opera.com/mobile prac opera.com/mobile.html robi nie pracy.

Mozilla.com: mozilla.org/en-US/ działa mozilla.org/en-US przekierowania, mozilla.org/en-US/index.html robi nie pracy.

Co prowadzi do innego pytania: Czy istnieją różne metody tego?

Edytuj: Wygląda na to, że Apple używa folderu dla każdej strony, np. folder o nazwie "iphone" z plikiem index.html w środku? Ale Opera i Mozilla używają czegoś w pliku .htaccess?

+0

Sprawdź .htaccess – Matheno

+2

To się nazywa przepisywanie URL ... teraz to jest twój punkt wyjścia, idź i przeczytaj :-) –

Odpowiedz

6

Używają one .htaccess i URL rewriting. Jest to część konfiguracji serwera. Nie możesz tego zrobić tylko za pomocą html.

W tym artykule wyjaśnia się podstawy przepisywania adresów URL.

+0

Czy przepisywanie URL w pliku .htaccess? I oni wszyscy używają różnych .htaccess i/lub URL do przepisywania rzeczy? – user2451987

+0

Tak, możesz zdefiniować reguły dotyczące gry w pliku .htaccess Istnieje wiele stron internetowych zajmujących się tym tematem: spójrz na dobry przykład @ Marijke – ibi0tux

5

Folder musi zawierać plik: index.*. odczuwalna: /iphone/index.html, który może być/iPhone/jak dobrze

lub pracy z .htaccess

+1

Co jest lepsze w użyciu? Czy jeden jest szybszy od drugiego czy bardziej stabilny? – user2451987

+1

zależy od celu .Jeśli chcesz, aby twoja strona była adresowana przez stronę foo.com/folder/, możesz użyć 'index. *', Ponieważ jest to znacznie łatwiejsze i mniej skomplikowane. – mutex36

10

usunięcie rozszerzeń

Aby usunąć rozszerzenie .php z pliku PHP na przykład yoursite. com/wallpaper.php do yoursite.com/wallpaper trzeba dodać następujący kod w pliku .htaccess:

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

Jeśli chcesz usunąć rozszerzenie .html z pliku html na przykład yoursite.com/ wallp aper.html do yoursite.com/wallpaper po prostu trzeba zmienić ostatni wiersz z powyższego kodu, aby dopasować nazwę pliku:

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

To jest to! Możesz teraz łączyć strony w dokumencie HTML bez potrzeby dodawania rozszerzenia strony. Na przykład:

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

w pliku .htaccess w katalogu głównym strony wystarczy dodać następujący wiersz:

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

Nakręć href przypisują równe strony, którą chcesz połączyć lub .. Jeśli musisz przejść do katalogu.

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

Powiązane problemy