Ich habe einen virtuellen Host auf meinem lokalen Computer konfiguriert und alles funktioniert einwandfrei. Jetzt möchte ich SEO-freundliche URLs verwenden. Um dies zu erreichen, habe ich die .htaccess-Datei verwendet.
Meine virtuelle Host-Konfiguration lautet:
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/ypp"
ServerName ypp.com
ServerAlias www.ypp.com
##ErrorLog "logs/dummy-Host2.localhost-error.log"
##CustomLog "logs/dummy-Host2.localhost-access.log" combined
</VirtualHost>
und meine .htaccess-Datei hat:
AllowOverride All
RewriteEngine On
RewriteBase /ypp/
RewriteRule ^/browse$ /browse.php
RewriteRule ^/browse/([a-z]+)$ /browse.php?cat=$1
RewriteRule ^/browse/([a-z]+)/([a-z]+)$ /browse.php?cat=$1&subcat=$2
Die obige .htaccess-Einstellung funktioniert nicht. Danach habe ich meine virtuelle Host-Einstellung geändert und es funktioniert. Die neue Einstellung für den virtuellen Host lautet:
<VirtualHost *:80>
RewriteEngine On
RewriteRule ^/browse$ /browse.php
RewriteRule ^/browse/([a-z]+)$ /browse.php?cat=$1
RewriteRule ^/browse/([a-z]+)/([a-z]+)$ /browse.php?cat=$1&subcat=$2
ServerAdmin [email protected]
DocumentRoot "C:/xampp/htdocs/ypp"
ServerName ypp.com
ServerAlias www.ypp.com
##ErrorLog "logs/dummy-Host2.localhost-error.log"
##CustomLog "logs/dummy-Host2.localhost-access.log" combined
<Directory "C:/xampp/htdocs/ypp">
AllowOverride All
</Directory>
</VirtualHost>
Bitte lassen Sie mich wissen, wo ich beim Umschreiben der URL in der .htacess-Datei einen Fehler mache. Ich möchte die Einstellungen im virtuellen Host nicht verwenden, da ich Apache bei jeder Änderung neu starten muss.
Sie müssen AllowOverride All
in den Abschnitt <Directory/>
der Serverkonfiguration einfügen.
Die einzigen Apache-Konfigurationsdateien, die Optionen zulassen können, sind diejenigen, die sich direkt auf dem Server befinden (Hauptdatei, virtueller Host usw.).
Die .htaccess-Datei kann nur entfernen Rechte überschreiben.
Das ist:
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/ypp"
ServerName ypp.com
ServerAlias www.ypp.com
##ErrorLog "logs/dummy-Host2.localhost-error.log"
##CustomLog "logs/dummy-Host2.localhost-access.log" combined
<Directory "C:/xampp/htdocs/ypp">
AllowOverride All
</Directory>
</VirtualHost>
und die .htaccess-Datei:
RewriteEngine On
RewriteBase /ypp/
RewriteRule ^/browse$ /browse.php
RewriteRule ^/browse/([a-z]+)$ /browse.php?cat=$1
RewriteRule ^/browse/([a-z]+)/([a-z]+)$ /browse.php?cat=$1&subcat=$2