2013-01-23 6 views
8

Alles klar, ich habe einen Apache localhost Server mit PHP und MySql eingerichtet. Jetzt möchte ich in der Lage sein, eine .htaccess Datei zu verwenden, um RewriteRule zu verwenden, aber ich bin ratlos, wo man es setzt.Verwenden Sie die .htaccess Datei auf einem Apache Localhost Server

Ich habe diese Verzeichnisse:

C:\dev\progs wo Apache PHP und MySQL gespeichert sind, die jeweils in ihrer eigenen Unterverzeichnisse, dh. C:\dev\progs\Apache und so weiter ...

C:\dev\www wo alle Site-Dateien gespeichert sind.

Ich muss wissen, wo die .htaccess Datei zu setzen, welche Konfiguration ich tun muss, und wenn, was ich meine Hoffnungen und Träume sind alles umsonst.

Dank

+0

Ich dachte, '.htaccess' Config sollte nicht verwendet werden, wenn Sie Zugriff auf die Server-Konfigurationsdatei haben, die in diesem Fall Sie tun. – SeinopSys

+0

Ja, ich habe auch etwas darüber gehört, ich finde die Konfigurationsdatei nur ein wenig verwirrend. Ich kann auch viel mehr Tutorials zu '.htaccess' Dateien finden. – KFox

Antwort

10

.htaccess ist eine Konfigurationsdatei, die gespeichert werden sollen, wo Ihre Seite. Kurz gesagt, sollte es in Ihrem Fall in c:\dev\www sein, aber Sie sollten this auch lesen. BTW vergessen Sie nicht, auf mod_rewrite drehen durch einen Hash aus der Leitung zu löschen, wo es

LoadModule rewrite_module modules/mod_rewrite.so 

residiert und ermöglichen .htaccess durch

Ändern
AllowOverride None 

zu

AllowOverride All 
1

Sie .htaccess platzieren Datei im Webverzeichnis, das der Code steuern soll (und alle Unterverzeichnisse). Bei einem Rewrite wird es normalerweise in das root dir übernommen und wirkt sich auf die Seite index.php aus.

Zum Beispiel, wenn Sie die .htaccess Datei in \ dev \ www \ Verzeichnis setzen, und Ihre .htaccess Datei hat so etwas wie RewriteRule ^(.*)$ /index.php?/$1 [L] ist dies ein regulärer Ausdruck, der alle bekommen die Zeichen in der URL und fügen Sie sie an die /index.php? Skript sagt . Die /$1 ist eine Rückreferenz in Regex.

12

aktivieren .htaccess auf Apache-Server in localhost

1) Find your apache directly which uses the php installation . 
2) Open your httpd.conf with notepad, Which is located in the path \apache\conf directory 
3) Find the code like below  
     #LoadModule rewrite_module modules/mod_rewrite.so 
4) Remove # from above code 


# AllowOverride controls what directives may be placed in .htaccess files. 
# It can be "All", "None", or any combination of the keywords: 
# Options FileInfo AuthConfig Limit 
# 
AllowOverride All <--- make sure this is not set to "None" 


5) Save httpd.conf file 
6) Restart your apache server 
+1

Viel klarere Antwort, danke! –

0

diesen Versuchen.

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /projectfolder/ 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /projectfolder/index.php [L] 
</IfModule> 
Verwandte Themen