2013-08-02 18 views
14

Czy można skonfigurować Apache, aby nie wyświetlać rozszerzenia pliku?umieścić linki bez rozszerzenia pliku (.php)

Na przykład: Załóżmy, że mam domain.com/page.php, ale chcę mieć adres URL w postaci domain.com/page.

Jakieś pomysły?

+1

podziękowania dla wszystkich !! – Braggae

+0

@Braggae Serdecznie witamy, * okrzyki *. –

Odpowiedz

3

ten nazywany jest przepisywanie URL. Musiałem go użyć po raz pierwszy ostatnio i użyłem this tutorial, aby się tego nauczyć, mam nadzieję, że będzie on również świetny:

2

To jest naprawdę proste. Po prostu utwórz plik .htaccess i umieść go w katalogu głównym, a następnie możesz zmienić adres URL na własny.

Use this manual.

2

Chcesz funkcji serwera internetowego o nazwie przepisywanie URL - każda aplikacja serwera WWW (apache, IIS, nginx) obsługuje to. Jak sama nazwa wskazuje, pobiera żądany adres URL i przepisuje go na określony format.

Na stronie www dostępnych jest wiele przewodników, nawet jeśli korzystasz z hostingu współdzielonego, możesz nadal dodawać/modyfikować plik .htaccess, aby to zrobić.

28

umieścić to jest plik .htaccess

#turn on url rewriting 
RewriteEngine on 

#remove the need for .php extention 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 

To pozwala na dostęp do plików .php bez rozszerzenia, więc linki powinien przeczytać

href="/somepage" 

a ten skieruje do

href="/somepage.php" 
14

Istnieje również MultiViews jako opcja konfiguracji vhost lub .htaccess. Zobacz http://httpd.apache.org/docs/2.2/content-negotiation.html#multiviews

Od tej strony:

Efekt MultiViews jest następująca: jeśli serwer otrzyma wniosek o/some/dir/foo, jeśli/niektóre/dir umożliwiło MultiViews i/niektóre/dir/foo nie istnieje, a następnie serwer czyta katalog szukający plików o nazwie foo. * i skutecznie podrabia mapę typów, która nazywa wszystkie te pliki, przypisując im te same typy mediów i kodowania treści, jakie miałaby, gdyby klient poprosił o jeden z nich po imieniu. Następnie wybiera najlepsze dopasowanie do wymagań klienta.

+3

Multiviews może być dość irytujące i przeszkadzać w normalnych zasadach mod_rewrite, jeśli wybór nazw plików i nadpisywanie wzorców zachodzi na siebie. –

+0

Bardzo prawdziwe. Używaj ostrożnie. –

+1

Dodałem MultiViews do mojego vhosta przez 2 dni. Nie mogłem ustalić, dlaczego mój adres URL żądania czyszczenia nie działa ...Dzięki @TheGingerDog –

1

Put to Twój plik .htaccess

RewriteEngine On 
 
RewriteRule ^page?$ page.php

<a href="page">page</a>

Powiązane problemy