2016-03-22 10 views
0

Ich habe eine Prestashop-Website geerbt und die htaccess-Datei ist für alle erforderlichen Weiterleitungen eingerichtet. Ich möchte den Zugriff auf die Dev-Subdomain erlauben, aber der htaccess leitet weiter zur Hauptseite. Ich habe versucht, Zugang mit meinem begrenzten Wissen und vertrauenswürdigen Freund Google zu erlauben, aber ich bekomme einen 500 Fehler, wenn ich die bearbeitete Datei hochladen.Zugriff auf dev-Site über htacess

die ursprünglichen Neufassungen sind wie so

<IfModule mod_rewrite.c> 
<IfModule mod_env.c> 
SetEnv HTTP_MOD_REWRITE On 
</IfModule> 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^www.mysitename.com$ 
RewriteRule . - [E=REWRITEBASE:/] 
RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L] 
# Dispatcher 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteCond %{HTTP_HOST} ^www.mysitename.com$ 
RewriteRule ^.*$ - [NC,L] 
RewriteCond %{HTTP_HOST} ^www.mysitename.com$ 
RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L] 
#If rewrite mod isn't enabled 
ErrorDocument 404 /index.php?controller=404 

ich versucht habe, nach

RewriteCond% am Anfang hinzuzufügen {HTTP_HOST}^www.mysitename.com

$

Diese Zeilen

RewriteCond %{HTTP_HOST} ^dev\.mysitename.com$ 
RewriteRule ^/(.*)   http://dev.mysitename.com/index.php/$1 [L, QSA] 

aber ich bekomme immer einen 500 Fehler und kann nicht experimentieren, da es die Seite offline nimmt. Jede Hilfe wird sehr geschätzt, während ich versuche, mehr über das Neuschreiben zu erfahren

+1

Sie müssen immer ** ** Ihre Apache-Fehlerprotokolle überprüfen, wenn Sie die 500-Fehler. Du kannst nicht einfach erraten, warum es kaputt ist. Es wird Ihnen sagen, was das Problem ist, dann können Sie es beheben. –

+0

es ist nicht kaputt, ich habe nur die Zeilen entfernt, die ich hinzufügen wollte, habe ich die Zeilen von einem anderen Stapelüberlauf Frage und änderte die relevanten Details zu meiner. –

Antwort

0

Ihre neuen Zeilen werden zwischen einem vorhandenen RewriteCond- und RewriteRule-Paar ausgetauscht und brechen ihre Syntax. Versuchen Sie, Ihre Linien über die Linie RewriteCond %{HTTP_HOST} ^www.mysitename.com$ zu bewegen.

0

es haben auf diese Weise:

<IfModule mod_rewrite.c> 
<IfModule mod_env.c> 
SetEnv HTTP_MOD_REWRITE On 
</IfModule> 

RewriteEngine on 

RewriteCond %{HTTP_HOST} ^www\.mysitename\.com$ 
RewriteRule . - [E=REWRITEBASE:/] 

RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L] 

# Dispatcher 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule^- [L] 

RewriteCond %{HTTP_HOST} ^www\.mysitename\.com$ 
RewriteRule !(?:^|/)index\.php$ %{ENV:REWRITEBASE}index.php [NC,L] 
</IfModule> 

#If rewrite mod isn't enabled 
ErrorDocument 404 /index.php?controller=404