2017-03-16 1 views
0

Ich habe ein Virtual local.mywebsite.com, ich Rewrite Regeln in meiner .htaccess-Dateixampp mod_rewrite nicht in localhost Virtual arbeiten

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) 
RewriteCond %{HTTP_USER_AGENT} libwww-perl.* 
RewriteRule .* – [F,L] 
RewriteCond %{QUERY_STRING} (\"|%22).*(<|>|%3) [NC,OR] 
RewriteCond %{QUERY_STRING} (javascript:).*(\;) [NC,OR] 
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3) [NC,OR] 
RewriteCond %{QUERY_STRING} (\;|\'|\"|%22).*(union|select|insert|drop|update|md5|benchmark|or|and|if) [NC,OR] 
RewriteCond %{QUERY_STRING} (base64_encode|localhost|mosconfig) [NC,OR] 
RewriteCond %{QUERY_STRING} (boot\.ini|echo.*kae|etc/passwd) [NC,OR] 
RewriteCond %{QUERY_STRING} (GLOBALS|REQUEST)(=|\[|%) [NC] 
RewriteRule .* - [E=BadQueryString,F] 

RewriteRule^- [E=BASE:{DOCBASE}] [L] 

RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$ 
RewriteCond %{HTTPS} off [OR] 
RewriteCond %{HTTPS}:s on:(s) 
RewriteRule ^(.*)$ http%1://local.%{HTTP_HOST}/$1 [R=301,L] 

RewriteCond %{REQUEST_URI} /admin/ 
RewriteRule .* - [S=2] 

RewriteRule ^(.*)index\.php$ %{ENV:BASE}$1 [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([a-zA-Z0-9!-/]*)$ %{ENV:BASE} [L] 

im httpd-vhosts verwenden. conf

<VirtualHost *:80> 
    DocumentRoot "E:/websites/local.mywebsite.com" 
    ServerName local.mywebsite.com 
    <Directory "E:/websites/local.mywebsite.com"> 
    # AllowOverride All  # Deprecated 
    # Order Allow,Deny  # Deprecated 
    # Allow from all   # Deprecated 
    AllowOverride All 
    # --New way of doing it 
    Require all granted  
</Directory> 

und in httpd.conf

DocumentRoot "C:/xampp/htdocs" 
<Directory "C:/xampp/htdocs"> 
Options Indexes FollowSymLinks Includes ExecCGI 
AllowOverride All 
Require all granted 

und i Kommentar- der LoadModule- rewrite_module modules/mod_rewrite.so

aber local.mywebsite.com/fr Rückkehr Error 404

+0

haben Sie in der httpd.conf 'LoadModule rewrite_module modules/mod_rewrite.so' unkommentiert? – jim

+0

Ich bin in Windows, also habe ich es manuell gemacht, indem ich die httpd Datei bearbeite und ich lösche das LoadModule rewrite_module modules/mod_rewrite.so – Amine

Antwort

0

Haben Sie Apache nach dem Auskommentieren von rewrite_module modules/mod_rewrite.so neu gestartet? Wenn nicht, Apache neu starten. Wenn ja, überprüfe ob in deiner httpd.conf Datei httpd-vhosts.conf enthalten ist. wenn nicht, Punkt es.

Machen Sie sur dort ist dieser Ordner "fr" in Ihrem Projekt.

Wenn es noch nicht funktioniert, empfehle ich Ihnen, das Projekt in Ihrem htdocs-Ordner im xampp-Ordner abzulegen. Es kann ein Problem mit dem richtigen Zugang geben.

+0

Ich brauche den fr Ordner nicht hinzuzufügen, weil es ein (virtueller Ordner) in der Rewrite Regel ist So mein sein wie Sie sagten, es ist eine richtige Zugriffsproblem – Amine

+0

Natürlich Ihr Recht. Lass es mich wissen, wenn es funktioniert –

+0

wird leider, das Projekt in htdocs Ordner setzen funktioniert es auch nicht :( – Amine

Verwandte Themen