[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
YCom auth_media Plugin - brauche Hilfe für .htaccess - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Tobias Krais
Beiträge: 500
Registriert: 2. Okt 2006, 23:16
Wohnort: Lörrach
Kontaktdaten: Website

YCom auth_media Plugin - brauche Hilfe für .htaccess

26. Nov 2017, 11:53

Hi zusammen,

im Moment migriere ich das community/auth_media Plugin auf ycom/auth_media. Hier der aktuelle Stand: https://github.com/TobiasKrais/redaxo_y ... auth_media

An einem Punkt komme ich nicht weiter: eine korrekte .htaccess Datei. Der Inhalt der aktuellen Datei ist der aus dem alten Plugin entlehnt und sieht wie folgt aus:

Code: Alles auswählen

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} !media/.*/.*
RewriteCond %{REQUEST_URI} !media/(.*).(png|gif|ico|css|js|swf)$

RewriteRule ^(.*)$ /?rex_ycom_auth_media_filename=$1&%{QUERY_STRING}
Aber das funktioniert nicht so richtig, ich bekomme einen 404 Fehler. Und wenn das Redaxo nicht im Hauptverzeichnis des Webservers, sondern in einem Unterverzeichnis installiert ist wir natürlich wegen der falschen RewriteBase auf das Unterverzeichnis weitergeleitet. Jetzt gibt es ja diesen tollen RewriteBase Workaround im YRewrite. Wenn ich die .htaccess entsprechend anpasse, sieht das bei mir so aus:

Code: Alles auswählen

# REWRITING
<IfModule mod_rewrite.c>
    # ENABLE REWRITING
    RewriteEngine On

    # Workaround for RewriteBase
    # Copied from https://github.com/symfony/symfony-standard/blob/master/web/.htaccess
    RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
    RewriteRule ^(.*) - [E=BASE:%1]

    RewriteCond %{REQUEST_URI} !media/.*/.*
    RewriteCond %{REQUEST_URI} !media/(.*).(png|gif|ico|css|js|swf)$

    RewriteRule ^(.*)$ %{ENV:BASE}/?rex_ycom_auth_media_filename=$1&%{QUERY_STRING} [L]
</IfModule>
Nur damit erhalte ich einen Internal Server Error wegen fehlerhafter Konfiguration.

Kann mir jemand weiter helfen? Ich bin in .htaccess Fragen nicht sonderlich bewandert...

Liebe Grüße,

Tobi

Thomas.Skerbis
Beiträge: 1371
Registriert: 4. Aug 2006, 14:06
Wohnort: Rheinberg
Kontaktdaten: Website Twitter

Re: YCom auth_media Plugin - brauche Hilfe für .htaccess

26. Nov 2017, 13:10

Vielleicht hilft dir dieser Trick weiter https://github.com/FriendsOfREDAXO/tric ... nhanced.md

Tobias Krais
Beiträge: 500
Registriert: 2. Okt 2006, 23:16
Wohnort: Lörrach
Kontaktdaten: Website

Re: YCom auth_media Plugin - brauche Hilfe für .htaccess

26. Nov 2017, 20:36

Hi Thomas,

ja klar! Die Seite habe ich völlig vergessen! Danke, dass du mir auf die Sprünge geholfen hast. Falls noch Fragen sind melde ich mich nochmals.

Liebe Grüße,

Tobi

Tobias Krais
Beiträge: 500
Registriert: 2. Okt 2006, 23:16
Wohnort: Lörrach
Kontaktdaten: Website

Re: YCom auth_media Plugin - brauche Hilfe für .htaccess

27. Nov 2017, 21:08

Hi Thomas,

jetzt muss ich doch nochmals nachfragen. Das mit dem .htaccess aus der Anleitung funktioniert bei mir trotzdem nicht. Muss der in dem Link zuerst erwähnte Inhalt:

Code: Alles auswählen

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteRule ^/?media/(.*\.[^\.]+)$ /index.php?f=$1 [L]
</IfModule>
in die Datei /media/.htaccess oder in die /.htaccess?

Außerdem möchte ich den Parameter 'f' umbenennen in 'rex_ycom_auth_media_filename'. Bei mir sieht deshalb die /media/.htaccess wie folgt aus:

Code: Alles auswählen

<IfModule mod_rewrite.c>
	RewriteEngine On
	RewriteRule ^/?media/(.*\.[^\.]+)$ /index.php?rex_ycom_auth_media_filename=$1 [L]
</IfModule>
Und dann habe ich in der /.htaccess folgenden Inhalt im Rewrite Teil:

Code: Alles auswählen

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
    RewriteRule ^(.*) - [E=BASE:%1]

    RewriteRule ^sitemap\.xml$ %{ENV:BASE}/index.php?rex_yrewrite_func=sitemap [NC,L]
    RewriteRule ^robots\.txt$ %{ENV:BASE}/index.php?rex_yrewrite_func=robots [NC,L]

    # REWRITE RULE FOR SEO FRIENDLY IMAGE MANAGER URLS
    RewriteRule ^media[0-9]*/imagetypes/([^/]*)/([^/]*) %{ENV:BASE}/index.php?rex_media_type=$1&rex_media_file=$2&%{QUERY_STRING} [B]
    RewriteRule ^images/([^/]*)/([^/]*) %{ENV:BASE}/index.php?rex_media_type=$1&rex_media_file=$2&%{QUERY_STRING} [B]
    RewriteRule ^imagetypes/([^/]*)/([^/]*) %{ENV:BASE}/index.php?rex_media_type=$1&rex_media_file=$2
    # ycom/auth_media Plugin: protected file extensions
    RewriteRule ^/?media/(.*\.(pdf|doc|zip))$ /index.php?rex_ycom_auth_media_filename=$1 [L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l

    RewriteCond %{REQUEST_URI} !^redaxo/.*
    RewriteCond %{REQUEST_URI} !^media/.*

    RewriteRule ^(.*)$ %{ENV:BASE}/index.php?%{QUERY_STRING} [L]

</IfModule>
Die Dateien im Medienpool werden leider nicht auf die index.php?rex_ycom_auth_media_filename=$1 weitergeleitet. Woran kann das noch liegen?

Liebe Grüße,

Tobi

Thomas.Skerbis
Beiträge: 1371
Registriert: 4. Aug 2006, 14:06
Wohnort: Rheinberg
Kontaktdaten: Website Twitter

Re: YCom auth_media Plugin - brauche Hilfe für .htaccess

28. Nov 2017, 00:41

Ich habe die erweiterte Variante nicht getestet. In meiner (das Original) sieht es so aus. In /media muss nichts. Die verlinkte Version habe ich flux mal korrigiert :wink: und besser beschrieben.

Code: Alles auswählen

RewriteRule ^/?media/(.*\.(pdf|doc|zip))$ /index.php?rex_ycom_auth_media_filename=$1 [L]
nach

Code: Alles auswählen

 RewriteRule ^imagetypes/([^/]*)/([^/]*) %{ENV:BASE}/index.php?rex_media_type=$1&rex_media_file=$2
in /.htaccess, das funktioniert so bei mir.

Check this: https://wv-n.de/media/stromrechnung_des ... l_2017.pdf

Ich habe mich bewußt dafür entschieden nur ausgesuchte Dateitypen zu sichern, da ich Bilder ungerne durch PHP jagen wollte. Aber das lässt sich leicht ändern.

Tobias Krais
Beiträge: 500
Registriert: 2. Okt 2006, 23:16
Wohnort: Lörrach
Kontaktdaten: Website

Re: YCom auth_media Plugin - brauche Hilfe für .htaccess

28. Nov 2017, 08:37

Hi Thomas,

du bist mal wieder meine Rettung! Ja, so funktioniert es und jetzt verstehe ich die Anleitung auch besser.

Ich bin auch noch am überlegen, was besser ist: Nur die eingestellten Dateitypen zu sichern oder alle Dateitypen außer die eingestellten. Aber ich denke ich bleibe bei deinem Ansatz.

Herzlichen Dank! Das Plugin ist bald fertig.

Liebe Grüße,

Tobi

Tobias Krais
Beiträge: 500
Registriert: 2. Okt 2006, 23:16
Wohnort: Lörrach
Kontaktdaten: Website

Re: YCom auth_media Plugin - brauche Hilfe für .htaccess

28. Nov 2017, 16:08

Hi Thomas,

jetzt bin ich doch noch nicht ganz zufrieden und habe eine andere Frage. Hier meine derzeitige .htaccess Datei:

Code: Alles auswählen

# REWRITING
<IfModule mod_rewrite.c>
    # ENABLE REWRITING
    RewriteEngine On

    # Workaround for RewriteBase
    # Copied from https://github.com/symfony/symfony-standard/blob/master/web/.htaccess
    RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
    RewriteRule ^(.*) - [E=BASE:%1]

    RewriteRule ^sitemap\.xml$ %{ENV:BASE}/index.php?rex_yrewrite_func=sitemap [NC,L]
    RewriteRule ^robots\.txt$ %{ENV:BASE}/index.php?rex_yrewrite_func=robots [NC,L]

    # REWRITE RULE FOR SEO FRIENDLY IMAGE MANAGER URLS
    RewriteRule ^media[0-9]*/imagetypes/([^/]*)/([^/]*) %{ENV:BASE}/index.php?rex_media_type=$1&rex_media_file=$2&%{QUERY_STRING} [B]
    RewriteRule ^images/([^/]*)/([^/]*) %{ENV:BASE}/index.php?rex_media_type=$1&rex_media_file=$2&%{QUERY_STRING} [B]
    RewriteRule ^imagetypes/([^/]*)/([^/]*) %{ENV:BASE}/index.php?rex_media_type=$1&rex_media_file=$2
    # START ycom/auth_media Plugin: protected file extensions
    RewriteRule ^media/(.*\.(arf|doc|docx|pdf|mp4|ppt|pptm|psd|tif|xls|xlsx|zip))$ %{ENV:BASE}/index.php?rex_ycom_auth_media_filename=$1 [L]
    # END ycom/auth_media Plugin: protected file extensions

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l

    RewriteCond %{REQUEST_URI} !^redaxo/.*
    RewriteCond %{REQUEST_URI} !^media/.*

    RewriteRule ^(.*)$ %{ENV:BASE}/index.php?%{QUERY_STRING} [L]

</IfModule>
Das Ergebnis? Die URL https://test.meindomain.com/media/mein.pdf wird auf https://test.meindomain.com/media/index ... e=mein.pdf weitergeleitet. Der Punkt? Das /media/ sollte nicht in der URL sein. Wie bekomme ich das weg?

Und dann noch was. Auf meinem lokalen Server sieht die URL der selben Datei so aus http://localhost/~tobias/www.meindomain ... a/mein.pdf. Hier eroflgt gar keine Weiterleitung. Woran kann das liegen?

Liebe Grüße,

Tobi

Thomas.Skerbis
Beiträge: 1371
Registriert: 4. Aug 2006, 14:06
Wohnort: Rheinberg
Kontaktdaten: Website Twitter

Re: YCom auth_media Plugin - brauche Hilfe für .htaccess

28. Nov 2017, 20:28

Setze mal ein vor index nur ein /

Was bei Dir stört ist %{ENV:BASE} , denke ich.
Und vor media muss ein ?

Mein aktueller Code

Code: Alles auswählen

 RewriteRule ^/?media/(.*\.(pdf|xlsx|xls|docx|ppt|pptx|rar|mpp|eps|txt|rtf|pub|pubx|doc|zip))$ /index.php?fileName=$1 [L]
Zu deinem lokalen Server kann ich leider ohne weitere Details nichts sagen.

Wie sieht Dein Link für Fall eins im Quellcode aus?

Tobias Krais
Beiträge: 500
Registriert: 2. Okt 2006, 23:16
Wohnort: Lörrach
Kontaktdaten: Website

Re: YCom auth_media Plugin - brauche Hilfe für .htaccess

29. Nov 2017, 00:03

Hi Thomas,

vielen Dank. Auf meinem Server funktioniert das Rewriting nun korrekt.

Auf meinem localhost hat sich nichts geändert. Das Problem besteht aber nicht nur auf meinem localhost, sonder immer dann, wenn Redaxo in einem Unterverzeichnis liegt. Hab deshalb am auf stackoverflow eine Frage aufgemacht: https://stackoverflow.com/questions/475 ... stallation

Liebe Grüße,

Tobi

Thomas.Skerbis
Beiträge: 1371
Registriert: 4. Aug 2006, 14:06
Wohnort: Rheinberg
Kontaktdaten: Website Twitter

Re: YCom auth_media Plugin - brauche Hilfe für .htaccess

29. Nov 2017, 17:44

Was ist denn wenn Du %{ENV:BASE} wieder einfügst. Evtl. war nur das ? das Problem.

Tobias Krais
Beiträge: 500
Registriert: 2. Okt 2006, 23:16
Wohnort: Lörrach
Kontaktdaten: Website

Re: YCom auth_media Plugin - brauche Hilfe für .htaccess

29. Nov 2017, 19:14

Hi Thomas,

hilft leider nicht. Ich habe das Gefühl, dass die Regel auf meinm lokalen Server gar nicht erst greift. Dann kann sie auch nicht weiterleiten.

Liebe Grüße,

Tobi

Zurück zu „AddOns / Packages [R5]“