Apache directives... wollen nicht so wie ich möchte :-/

Dieses Thema im Forum "Installation und Konfiguration" wurde erstellt von olli, 18. Apr. 2008.

  1. olli

    olli New Member

    hallo,
    ich habe vor kurzem ISPconfig aufgesetzt und bin wirklich beeindruckt von dem leistungsumfang.

    alles funktioniert toll, bis auf das richtige setzen mod-rewrite regeln bzw. von apache diretives im ISPconfig. vielleicht mag' ja jemand von euch einen denkanstoß geben?

    folgende situation:
    im verzeichnis /srv/www/web6/web

    existiert ein php script. dieses script benötigt folgende .htaccess im document-root:
    Code:
    # Disable folder Indexing
    Options -Indexes
    
    # Some of the following options are commented, to prevent "500" server errors, in some environments.
    <IfModule mod_php4.c> 
    # Disable zlib compression, to avoid issues with PHP's gunzip. COMMENT the following line, IF YOU GET a "500" server error!
    php_flag zlib.output_compression Off
    # Disable register globals, just in case. COMMENT the following line, IF YOU GET a "500" server error!
    php_flag register_globals off
    # Disable PHP errors, in the production environment
    # php_flag display_errors off
    # Disable PHP "Magic Quotes". We use mySQL filtering for inputted data and "Magic Quotes" could facilitate SQL injections
    # php_flag magic_quotes_gpc off
    </IfModule>
    
    # The following protects .flv files from direct download, when using the "php-streaming" option:
    <IfModule mod_php4.c>
    # Uncomment the following line, to use "php-streaming"
    # AddType application/x-httpd-php .flv
    </IfModule>
    
    # Prevent viewing of htaccess and other .ht files
    <Files ~ "^\.ht">
    order allow,deny
    satisfy all
    </Files>
    
    # Deny most common except .php (Also protects your .tpl template files)
    <FilesMatch "\.(db|inc|tpl|tmpl|h|ihtml|sql|ini|configuration|config|class|bin|spd|theme|module|cfg|cpl|tmp|log|err)$">
    order allow,deny
    satisfy all
    </FilesMatch>
    
    # SEO (Search Engine Optimization), that is search engine friendly URLs
    <IfModule mod_rewrite.c>
    RewriteEngine on
    Options +FollowSymlinks
    RewriteRule ^rss/new /rss.php?type=new[L]
    RewriteRule ^rss/comments /rss.php?type=comments[L]
    RewriteRule ^rss/views /rss.php?type=views[L]
    RewriteRule ^([-_~*a-zA-Z0-9]+)(\/)?$ groups_home.php?urlkey=$1
    RewriteRule ^([-_~*a-zA-Z0-9\%\@\!\#\$\^\&\*]+)(.html+)(\/)?$ uprofile.php?uname=$1
    RewriteRule ^([-_~*a-zA-Z0-9]+)(.video+)(\/)?$ view_video.php?viewkey=$1
    RewriteRule ^([-_~*a-zA-Z0-9]+)(.srt+)(\/)?$ subtitles.php?video=$1
    RewriteRule uploads/flvideo/^([-_~*a-zA-Z0-9]+)(.srt+)(\/)?$ subtitles.php?video=$1
    </IfModule>
    
    # Define the error documents, for the most basic server errors.
    # REPLACE all instances of "YOUR_DOMAIN.COM" with YOUR DOMAIN NAME!
    ErrorDocument 400 http://domain-name/error_handler.php?erid=400
    ErrorDocument 401 http://domain-name/error_handler.php?errid=401
    ErrorDocument 403 http://domain-name/error_handler.php?errid=403
    ErrorDocument 404 http://domain-name/error_handler.php?errid=404
    ErrorDocument 500 http://domain-name/error_500.html
    
    # Force caching of some common files for some time in the browser's cache, to save bandwidth.
    # "Mod_expires" needs to be installed in your Apache server, to use this feature.
    <IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault A300
    ExpiresByType image/x-icon A2592000
    ExpiresByType application/x-javascript A2592000
    ExpiresByType text/css A2592000
    ExpiresByType image/gif A2592000
    ExpiresByType image/png A2592000
    ExpiresByType image/jpeg A2592000
    ExpiresByType image/jpg A2592000
    ExpiresByType text/plain A2592000
    ExpiresByType application/pdf A2592000
    ExpiresByType text/html A2592000
    ExpiresByType text/javascript A2592000
    </IfModule>
    
    
    
    # And again the same, using Apache's "mod_headers", if it's installed.
    # Caching of common files - ENABLED
    <IfModule mod_headers.c>
    <FilesMatch "\.(ico|pdf|js|css|gif|png|jpg|jpeg|txt|html|htm)$">
    Header set Cache-Control "max-age=29030400, public"
    </FilesMatch>
    # Remove comments, to disable video caching to the user's browser
    # <FilesMatch "\.(flv|wmv|avi|mpg|3gp|rm|mpeg|mp4|qt|mov|divx|xvid|wmv|asf|dat|xml)$">
    # Header set Cache-Control "max-age=0, public"
    # </FilesMatch>
    </IfModule>
    
    <IfModule mod_security.c>
    # Here, you can turn on Apache's "mod_security" scanning engine, if the module is installed.
       SecFilterEngine Off
    # Turn on the security scan engine for POST elements, at your own rirk!
    # Make sure to use a proper filtering set!
       SecFilterScanPOST Off
    </IfModule>
    
    zudem habe ich über ISPconfig für die domain folgende apache direktive gesetzt:
    Code:
    <Directory /srv/www/web6/web>
       Options +FollowSymLinks
       AllowOverride All
    </Directory>
    leider bekomme ich so ein 404, wenn ich z.b. weitere unterordner wie
    /document_root/admin anspringen möchte.

    ich gebe offen zu, dass ich mich mit mod_rewrite leider noch nicht auskenne. daher meine frage an euch: wie muß' ich die /.htaccess anpassen, damit der ordner /admin angesprungen werden kann ohne 404?

    wäre super, wenn ihr mir hilfestellung geben könntet, worauf ich achten muß.

    viele grüße
     
    Zuletzt bearbeitet: 18. Apr. 2008
  2. Till

    Till Administrator

    Welche Fehlermeldungen erhältst Du im error.log der Webseite?


    Deine Vorgehensweise ist soweit ok und es sollte funktioneueren, wenn der Inhalt der .htaccess Datei in Ordnung ist. was Du alternativ mal versuchen kannst, ist dass Du die .htaccess Datei löschst und stattdessen deren kompletten Inhalt in das apache Direktiven Feld kopierst.
     
  3. olli

    olli New Member

    hallo,
    ja ich habe versucht die datei direkt in die apache direktiven im webpanel zu kopieren. leider brachte das keine verbesserung.

    da ich die .htaccess datei nur explizit für ein verzeichnis abschalten muß', habe ich mich einfach mit einem "RewriteEngine off" im entsprechenden verzeichnis beholfen.

    ist vielleicht nicht die eleganteste lösung, aber es führt zu dem gewünschten ergebnis.

    danke für deine hilfestellung!

    viele grüße
     

Diese Seite empfehlen