Seite 3 von 3

Verfasst: 22.06.2019, 17:46
von Hanzo2012
Log?
Sicher, dass du es genau so reinkopiert hast?
Und dass der Pfad wirklich so lautet (evtl. hast du was verändert, damit wir nicht sehen, um welche Domain es sich handelt?)?

Verfasst:
von

Verfasst: 22.06.2019, 17:54
von heinrich
Hanzo2012 hat geschrieben:Log?
Sicher, dass du es genau so reinkopiert hast?
Und dass der Pfad wirklich so lautet (evtl. hast du was verändert, damit wir nicht sehen, um welche Domain es sich handelt?)?
Per php echo erhielt ich genau denselben Pfad:

Der Pfad zur Root ist /home/.sites/57/site286/web
Der Pfad zur Dubdomain /home/.sites/57/site286/web/subdomain

Geändert habe ich nur den Namen "subdomain". Alles andere ist original.

Verfasst: 22.06.2019, 17:58
von Hanzo2012
Zeig nochmal die .htaccess deiner Subdomain bitte.

Verfasst: 22.06.2019, 18:08
von heinrich
Hanzo2012 hat geschrieben:Zeig nochmal die .htaccess deiner Subdomain bitte.

Code: Alles auswählen

DirectoryIndex default.shtml default.html index.shtml index.html index.php
ErrorDocument 404 https://www.domain.com/error/404-file-not-found.html

RewriteEngine on
RewriteRule "^/ads\.txt$" "/home/.sites/57/site286/web/ads.txt"

Verfasst: 22.06.2019, 18:19
von heinrich
Liebe Leute, ich muss das für heute abschließen, denn ich habe jetzt einen Termin, und möchte mich bei allen bedanken, die sich soviel Zeit genommen haben, mein "Problem" zu lösen!
Irgendwie dürfte das doch nicht so einfach sein oder ich mache einen grundlegenden Denkfehler. :D :D :D

Verfasst:
von

Verfasst: 22.06.2019, 18:19
von elmex
Das mit Alias nicht erlaubt liegt an den AllowOverwrite Einstellungen.

Die weiteren Fehlermeldungen deuten darauf hin, dass da noch andere Sachen in deiner .htacces stehen - das kann "Konflikte" geben.

Erste Meldung heisst, RewriteEngine spingt nicht an - daher 404

Zweite Meldung habe ich noch nie gesehen, aber hört sich danach an, dass due ein 301/302 auf einen Dateipfad schickst.

Im Zweifel mal die komplette .htaccess mal posten, dann können wir vll. noch helfen. Oder gleich jemand machen lassen, der es kann :o :D

Verfasst: 22.06.2019, 18:22
von Hanzo2012
elmex hat geschrieben:Das mit Alias nicht erlaubt liegt an den AllowOverwrite Einstellungen.
Nee, das liegt daran, dass Alias in .htaccess generell nicht erlaubt ist.

ModRewrite ist schon ein extrem frickeliges Stück Software. Überall lauern Stolperfallen. Wahrscheinlich stolpern wir gerade über eine solche.

Verfasst: 22.06.2019, 18:25
von heinrich
elmex hat geschrieben: Im Zweifel mal die komplette .htaccess mal posten, dann können wir vll. noch helfen. Oder gleich jemand machen lassen, der es kann :o :D

Code: Alles auswählen

DirectoryIndex default.shtml default.html index.shtml index.html index.php
ErrorDocument 404 https://www.domain.com/error/404-file-not-found.html

RewriteEngine on
RewriteRule ^ads\.txt$ "https\:\/\/www\.domain\.com\/ads\.txt" [R=301,L]

# Deflate Compression by FileType
<IfModule mod_deflate.c>
 AddOutputFilterByType DEFLATE text/plain
 AddOutputFilterByType DEFLATE text/html
 AddOutputFilterByType DEFLATE text/xml
 AddOutputFilterByType DEFLATE text/css
 AddOutputFilterByType DEFLATE text/javascript
 AddOutputFilterByType DEFLATE application/xml
 AddOutputFilterByType DEFLATE application/xhtml+xml
 AddOutputFilterByType DEFLATE application/rss+xml
 AddOutputFilterByType DEFLATE application/atom_xml
 AddOutputFilterByType DEFLATE application/javascript
 AddOutputFilterByType DEFLATE application/x-javascript
 AddOutputFilterByType DEFLATE application/x-shockwave-flash
</IfModule>

# turns cache on for 1 month
<IfModule mod_expires.c>
 ExpiresActive On
 ExpiresByType text/css "access plus 1 month"
 ExpiresByType text/javascript "access plus 1 month"
 ExpiresByType text/html "access plus 1 month"
 ExpiresByType application/javascript "access plus 1 month"
 ExpiresByType image/gif "access plus 1 month"
 ExpiresByType image/jpeg "access plus 1 month"
 ExpiresByType image/png "access plus 1 month"
 ExpiresByType image/x-icon "access plus 1 month"
</IfModule>
<ifmodule mod_headers.c>
 <filesmatch "\\.&#40;ico|jpe?g|png|gif|swf&#41;$">
  Header set Cache-Control "max-age=2592000, public"
 </filesmatch>
 <filesmatch "\\.&#40;css&#41;$">
  Header set Cache-Control "max-age=604800, public"
 </filesmatch>
 <filesmatch "\\.&#40;js&#41;$">
  Header set Cache-Control "max-age=604800, private"
 </filesmatch>
</ifmodule>
Das ist die funktionierende mit der RewriteRule!

Verfasst: 22.06.2019, 22:04
von elmex
Jo heinrich, deine RewriteRule:
RewriteRule ^ads\.txt$ "https\:\/\/www\.domain\.com\/ads\.txt" [R=301,L]
ist falsch.

1. immernoch eine "externe" Weiterleitung

2. kein Dateipfad sondern URL

3. die backslashes und die Anführungszeichen gehören im Zielteil da nicht hin

So sollte das in etwa aussehen:
RewriteRule ^ads\.txt$ /home/.sites/57/site286/web/ads.txt

PS. Und wo wird da jetzt verhindert, dass der Subdomain Unterordner nicht auch über die Hauptdomain erreichbar ist?!

Verfasst: 22.06.2019, 22:29
von heinrich
Hallo elmex,

diese externe Weiterleitung ist das einzige, was funktioniert und die ads.txt ausliefert, halt die in der Root, aber sie liefert wenigstens. Mit einem Redirekt ohne die Slashes geht es ja genauso!

Bei deinem Vorschlag - der ja eine interne Weiterleitung sein sollte, die ich ja ohnehin schon ausprobiert hatte - kommt eben der 404er!
Und in den logs steht dann
File does not exist: /home/.sites/57/site286/web/subdomain/home

Der Unterordner wird ja vom Server direkt als Subdomain, also als
https://subdomain.domain.com/
ausgeliefert und eben nicht als https://www.domain.com/subdomain/

Vermutlich liegt es daran, dass man nicht aus einer schon vom Server ausgelieferten Subdomain zurück in einem internen Pfad auf die Domain kommen kann!

Nochmals danke!
Und eine gute Nacht! Mein Termin war recht anstrengend gewesen und ich denke, ich muss damit leben, dass es nicht eleganter geht.

Verfasst: 22.06.2019, 22:31
von Hanzo2012
Es geht schon eleganter. Irgendwas müssen wir hier übersehen. Ansonsten gäbe es immer noch die Möglichkeit einen symbolischen Link zu erzeugen. Hast du SSH-Zugang?
Noch eine Alternative, falls mod_proxy aktiviert ist (einfach mal testen): Ersetze in deiner externen Weiterleitung das „R=301“ durch „P“. Dann macht der Webserver selbst den Request (an sich selbst) statt dass der Zugreifende der Weiterleitung folgen muss.

Verfasst: 22.06.2019, 22:43
von heinrich
Nein, einen Zugang zur Shell habe ich nicht.
Und auch das Ersetzen durch P bringt den 404er.

Vermutlich liegt es wirklich daran, dass man nicht aus einer schon vom Server ausgelieferten Subdomain zurück in einem internen Pfad auf die Domain kommen kann!

Mir geht es ohnehin nur darum, dass die Bots eine ads.txt kriegen, auch wenn die immer von der Root kommt. Vielleicht merken sie das nicht, sondern sind mit der langen Liste der Advertiser zufrieden ;-)

Verfasst: 22.06.2019, 22:51
von Hanzo2012
So?

RewriteRule ^/ads\.txt$ https://www.domain.com/ads.txt [P]

Wenn's nicht geht, probier mal den ersten Slash wegzulassen, also ^ads\.txt$ statt ^/ads\.txt$ ... So wie es bei dir schon bei der externen Weiterleitung da steht und (komischerweise) funktioniert ...
heinrich hat geschrieben:Vermutlich liegt es wirklich daran, dass man nicht aus einer schon vom Server ausgelieferten Subdomain zurück in einem internen Pfad auf die Domain kommen kann!
Nee, das ist Quatsch ;)
heinrich hat geschrieben:Mir geht es ohnehin nur darum, dass die Bots eine ads.txt kriegen, auch wenn die immer von der Root kommt. Vielleicht merken sie das nicht, sondern sind mit der langen Liste der Advertiser zufrieden ;-)
Mag sein ... Man weiß es nicht.

Verfasst: 22.06.2019, 23:16
von heinrich
Leider geht das auch nicht!
Ich habe den Verdacht, dass vom Server bei der Auslieferung der Subdomain die Base umgeschrieben wird - und das eben dann verhindert, dass man mit einem relativen Pfad auf die ursprüngliche Base zurück kann.
Ich geb es jetz einmal auf und hoffe, dass die Bots zufrieden sind ;-)
Ich hatte auf einer Domain einmal in allen Subdomains diese ads.txt eingefügt und nach ein paar Tagen wieder rausgenommen und nur die eine in der Root gelassen - die Werbe-Einnahmen haben sich nicht besonders verändert und Werbungen wurden normal ausgeliefert!

Verfasst: 22.06.2019, 23:20
von Hanzo2012
heinrich hat geschrieben:Ich habe den Verdacht, dass vom Server bei der Auslieferung der Subdomain die Base umgeschrieben wird - und das eben dann verhindert, dass man mit einem relativen Pfad auf die ursprüngliche Base zurück kann.
Das mit dem [P] war aber eine absolute URL, genau wie bei deiner (funktionierenden) externen Weiterleitung.
Irgendwas ist da faul.