Jak zmienić nazwę pliku na .htaccess w systemie Windows 7?

62

Używam XAMPP do testowania skryptu PHP. Teraz w katalogu głównym folderu chcę umieścić .htaccessplik zgodnie z wymaganiami skryptu.

Ale Windows nie pozwala mi zmienić nazwy na .htaccess. Czy jest jakiś sposób na obejście tego?

Używam Windows 7 RTM.

rzlines
źródło

Odpowiedzi:

78

ten link omawia ten sam problem na XP.

Pozwolę ci go przeczytać i zdecydować, czy to dotyczy systemu Windows 7, ale rozwiązanie wymaga użycia wiersza polecenia.

EDYTOWAĆ:

Zaczyna się od tego, że system Windows będzie pozwalają utworzyć htaccess.txtplik
Wtedy

Start Run > cmd

następnie wpisz

rename c:\pathtoyourhtaccessfile\htaccess.txt .htaccess

da rade

pavium
źródło
7
LOL to kolejny dziwny problem spowodowany przez system Windows!
Ahmad Alfy
83

Dzięki https://serverfault.com/questions/22626/rename-files-to-empty-filename-in-windows-vista nauczyłem się nowej sztuczki. Ponieważ ta strona pojawia się wyżej w Google dla tego komunikatu o błędzie, pomyślałem, że też tutaj link.

Zasadniczo, jeśli chcesz to zrobić w Eksploratorze, nazwij go .htaccess. z kropką końcową. Końcowa kropka mówi Windowsowi, jakie powinno być rozszerzenie, a początkowa kropka i litery informują, jaka powinna być nazwa pliku (bez rozszerzenia). Wygląda na to, że plik bez rozszerzenia jest dopuszczalny, ale nie bez pliku. Na szczęście plik bez rozszerzenia nie wymaga kropki, więc otrzymujemy usunięcie, które tworzy żądaną nazwę pliku (który jest tylko rozszerzeniem - zobacz typ pliku zgłaszany przez system Windows?)

Możesz to zrobić z dowolnym ciągiem, nie tylko htaccess. Ma to dla mnie trochę sensu, ponieważ pliki zaczynające się od kropki mają specjalne znaczenie.

Jay Paroline
źródło
1
czy to błąd czy funkcja?
etuardu
3
to jest błąd, dopóki ktoś nie znajdzie dla niego zastosowania, to jest funkcja ... to jest teraz oficjalnie funkcja. :)
jx12345,
1
Wspaniale, więc możesz po prostu pisać .filename.i staje się.filename
Daniel Little
9

Nie twórz pliku w Eksploratorze Windows. Utwórz go w dowolnym programie, którego używasz (notatnik, vim, zaćmienie cokolwiek). Następnie wybierz „Zapisz jako” i upewnij się, że wybrano „Wszystkie pliki”. Wpisz .htaccess. To powinno działać.

Wszystkie pliki mają zapobiegać automatycznemu dodawaniu przez program rozszerzenia typu pliku (np. .Htaccess.txt)

Macha
źródło
6

Jedną rzeczą, którą możesz zrobić, to użyć innego pliku jako .htaccesspliku.

Otwórz httpd.conflub jakakolwiek konfiguracja XAMPP wywoła plik konfiguracyjny Apache.

Poszukaj linii zaczynającej się od AccessFileNamei zmień wartość na końcu na coś, co pozwoli Windows zapisać jako.

AccessFileName htaccess.txt

Jeśli nie znajdziesz tego wiersza, po prostu dodaj powyższe w.

Następnie uruchom ponownie XAMPP.

Musisz jednak pamiętać o zmianie nazwy podczas przesyłania do witryny na żywo.

losowy
źródło
7
Być może ta odpowiedź zbyt dosłownie przyjęła „jakikolwiek sposób na obejście”.
losowo
IMHO, to z pewnością najlepsza odpowiedź. Pamiętaj, że po przesłaniu witryny i tak będziesz na innym serwerze. Oznacza to, że prawdopodobnie i tak będziesz chciał użyć innej konfiguracji. Przeważnie pozostawiasz te pliki nietknięte podczas przesyłania i tworzysz osobny zestaw dla swojego serwera. Sugeruję, że jeśli rozwój na Win i przesyłanie do serwera Lin, to ustawienie na serwerze zmienić, jak również tak, że te mogą być edytowane w Win jak dobrze, ale dać serwerowi inną nazwę (na przykład htaccess.dev.confi htaccess.prod.confbędzie dobry).
krowe2
Jeszcze jedną rzeczą do wspomnienia jest to, że większość http.confplików zawiera kilka wierszy, aby zapobiec pobieraniu tych plików ... <Files ".ht*"> Require all denied </Files>... zmień to, aby <Files "ht*.*.conf"> Require all denied </Files>te pliki były niedostępne do pobrania (nie zapomnij ponownie wstawić brakujących nowych linii; jest to komentarz, więc je usunąłem).
krowe2
Jeszcze jedną rzeczą do wspomnienia jest to, że jeśli używasz podstawowego uwierzytelniania, będziesz również chciał użyć podobnego schematu nazewnictwa dla swoich .htpasswdplików, aby również pozostały ukryte.
krowe2
4

Myślę, że w dawnych czasach Windows XP wystarczyło tylko podać nazwę pliku? Te cytaty zostałyby następnie usunięte przez system Windows. Zmień nazwę, aby zapisać plik jako:

„.htaccess”

To z pewnością działa tylko podczas zapisywania , powiedzmy, z Notatnika, a następnie nie pozwala również na .txtdodanie domyślnego . Nie jestem w 100% pewien, że działało to również w Eksploratorze Windows. W Windows XP nie działa on jednak z Eksploratora Windows, ponieważ nie można nawet wpisać cudzysłowów. Bez cudzysłowów dałoby to „Musisz wpisać nazwę pliku”. ponieważ nie lubi wiodącej kropki. Te same błędy podczas korzystania z okna dialogowego, jak pokazano za pomocą kliknięcia prawym przyciskiem myszy »Właściwości.)

Arjan
źródło
4

Po prostu nazwij go .htaccess.Końcowa kropka zostanie automatycznie usunięta przez system Windows, pozostawiając ją tak, .htaccessjak powinna.

zeel
źródło
3
To jest dokładna kopia tej odpowiedzi sprzed ponad roku.
Tim Pietzcker
1
"dokładny"? Nie. W każdym razie szukałem odpowiedzi na ten problem i sam to sobie wymyśliłem. Ale ponieważ nigdy wcześniej nie widziałem, żeby ktoś tak powiedział, szukałem tutaj tego pytania, aby upewnić się, że każdy, kto potrzebuje wiedzieć, uzyska informacje. Przyjęta odpowiedź jest odpowiedzią mniejszą, więc napisałem. Nigdzie nie zauważyłem. Pytający powinien jednak zmienić zaakceptowaną odpowiedź na tę, ponieważ jest to zdecydowanie lepsza odpowiedź.
zeel
I zdajesz sobie sprawę, że wprawia ludzi w zakłopotanie, jeśli odpowiedź jest poprawna, ale odrzucona. Teraz, chociaż moja odpowiedź jest całkowicie poprawna, inni szukający tych informacji mogą zostać wprowadzeni w błąd przez wynik negatywny.
zeel
2
FWIW, nie głosowałem tego. Ale moim zdaniem powinieneś usunąć swoją odpowiedź, ponieważ druga odpowiedź jest znacznie lepsza: nie mówi tylko „To magia!” ale wyjaśnia, dlaczego to działa. Spóźniłeś się ze swoim rokiem.
Tim Pietzcker,
2
Poprzednia odpowiedź nie mówi wprost: że kropka zniknie - w ten sposób ta odpowiedź nadal ma swoje podstawy.
Ujjwal Singh,