From 5fcd3d816f462339397b6eca49f61eeb61fca2e6 Mon Sep 17 00:00:00 2001 From: Lukas Novy <github-lnovy@krtek.net> Date: Tue, 19 Sep 2023 10:15:34 +0200 Subject: [PATCH] Podpora pro stare SEO odkazy --- Dockerfile | 1 + phpbb-htaccess.conf | 300 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 301 insertions(+) create mode 100644 phpbb-htaccess.conf diff --git a/Dockerfile b/Dockerfile index 7357011..a553816 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,6 +4,7 @@ MAINTAINER Andrej Ramašeuski <andrej.ramaseuski@pirati.cz> USER 0 RUN install_packages cron COPY crontab /etc/cron.d/ +COPY phpbb-htaccess.conf /opt/bitnami/apache/conf/vhosts/htaccess USER 1001 COPY phpbb /opt/bitnami/phpbb diff --git a/phpbb-htaccess.conf b/phpbb-htaccess.conf new file mode 100644 index 0000000..0396218 --- /dev/null +++ b/phpbb-htaccess.conf @@ -0,0 +1,300 @@ +<Directory "/opt/bitnami/phpbb/files"> + # With Apache 2.4 the "Order, Deny" syntax has been deprecated and moved from + # module mod_authz_host to a new module called mod_access_compat (which may be + # disabled) and a new "Require" syntax has been introduced to mod_authz_core. + # We could just conditionally provide both versions, but unfortunately Apache + # does not explicitly tell us its version if the module mod_version is not + # available. In this case, we check for the availability of module + # mod_authz_core (which should be on 2.4 or higher only) as a best guess. + <IfModule mod_version.c> + <IfVersion < 2.4> + Order Allow,Deny + Deny from All + </IfVersion> + <IfVersion >= 2.4> + Require all denied + </IfVersion> + </IfModule> + <IfModule !mod_version.c> + <IfModule !mod_authz_core.c> + Order Allow,Deny + Deny from All + </IfModule> + <IfModule mod_authz_core.c> + Require all denied + </IfModule> + </IfModule> +</Directory> +<Directory "/opt/bitnami/phpbb/cache"> + # With Apache 2.4 the "Order, Deny" syntax has been deprecated and moved from + # module mod_authz_host to a new module called mod_access_compat (which may be + # disabled) and a new "Require" syntax has been introduced to mod_authz_core. + # We could just conditionally provide both versions, but unfortunately Apache + # does not explicitly tell us its version if the module mod_version is not + # available. In this case, we check for the availability of module + # mod_authz_core (which should be on 2.4 or higher only) as a best guess. + <IfModule mod_version.c> + <IfVersion < 2.4> + Order Allow,Deny + Deny from All + </IfVersion> + <IfVersion >= 2.4> + Require all denied + </IfVersion> + </IfModule> + <IfModule !mod_version.c> + <IfModule !mod_authz_core.c> + Order Allow,Deny + Deny from All + </IfModule> + <IfModule mod_authz_core.c> + Require all denied + </IfModule> + </IfModule> +</Directory> +<Directory "/opt/bitnami/phpbb"> + <IfModule mod_rewrite.c> + RewriteEngine on + + # + # Uncomment the statement below if URL rewriting doesn't + # work properly. If you installed phpBB in a subdirectory + # of your site, properly set the argument for the statement. + # e.g.: if your domain is test.com and you installed phpBB + # in http://www.test.com/phpBB/index.php you have to set + # the statement RewriteBase /phpBB/ + # + #RewriteBase / + + # + # Uncomment the statement below if you want to make use of + # HTTP authentication and it does not already work. + # This could be required if you are for example using PHP via Apache CGI. + # + #RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] + + + # DO NOT GO FURTHER IF THE REQUESTED FILE / DIR DOES EXISTS + RewriteCond %{REQUEST_FILENAME} -f + RewriteCond %{REQUEST_FILENAME} -d + RewriteRule . - [L] + + # FORUM ALL MODES + RewriteRule ^(forum|[a-z0-9_-]*-f)([0-9]+)/?(page([0-9]+)\.html)?$ /viewforum.php?f=$2&start=$4 [QSA,L,NC,R=302] + # TOPIC WITH VIRTUAL FOLDER ALL MODES + RewriteRule ^(forum|[a-z0-9_-]*-f)([0-9]+)/(topic|[a-z0-9_-]*-t)([0-9]+)(-([0-9]+))?\.html$ /viewtopic.php?f=$2&t=$4&start=$6 [QSA,L,NC,R=302] + # GLOBAL ANNOUNCES WITH VIRTUAL FOLDER ALL MODES + RewriteRule ^announces/(topic|[a-z0-9_-]*-t)([0-9]+)(-([0-9]+))?\.html$ /viewtopic.php?t=$2&start=$4 [QSA,L,NC,R=302] + # PHPBB FILES ALL MODES + RewriteRule ^resources/[a-z0-9_-]+/(thumb/)?([0-9]+)$ /download/file.php?id=$2&t=$1 [QSA,L,NC,R=302] + # POST + RewriteRule ^post([0-9]+)\.html$ /viewtopic.php?p=$1 [QSA,L,NC,R=302] + + # + # The following 3 lines will rewrite URLs passed through the front controller + # to not require app.php in the actual URL. In other words, a controller is + # by default accessed at /app.php/my/controller, but can also be accessed at + # /my/controller + # + RewriteCond %{REQUEST_FILENAME} !-f + RewriteCond %{REQUEST_FILENAME} !-d + RewriteRule ^(.*)$ app.php [QSA,L] + + # + # If symbolic links are not already being followed, + # uncomment the line below. + # http://anothersysadmin.wordpress.com/2008/06/10/mod_rewrite-forbidden-403-with-apache-228/ + # + #Options +FollowSymLinks + </IfModule> + + # Apache content negotation tries to interpret non-existent paths as files if + # MultiViews is enabled. This will however cause issues with paths containg + # dots, e.g. for the cron tasks + <IfModule mod_negotiation.c> + Options -MultiViews + </IfModule> + + # With Apache 2.4 the "Order, Deny" syntax has been deprecated and moved from + # module mod_authz_host to a new module called mod_access_compat (which may be + # disabled) and a new "Require" syntax has been introduced to mod_authz_host. + # We could just conditionally provide both versions, but unfortunately Apache + # does not explicitly tell us its version if the module mod_version is not + # available. In this case, we check for the availability of module + # mod_authz_core (which should be on 2.4 or higher only) as a best guess. + <IfModule mod_version.c> + <IfVersion < 2.4> + <Files "config.php"> + Order Allow,Deny + Deny from All + </Files> + <Files "common.php"> + Order Allow,Deny + Deny from All + </Files> + </IfVersion> + <IfVersion >= 2.4> + <Files "config.php"> + Require all denied + </Files> + <Files "common.php"> + Require all denied + </Files> + </IfVersion> + </IfModule> + <IfModule !mod_version.c> + <IfModule !mod_authz_core.c> + <Files "config.php"> + Order Allow,Deny + Deny from All + </Files> + <Files "common.php"> + Order Allow,Deny + Deny from All + </Files> + </IfModule> + <IfModule mod_authz_core.c> + <Files "config.php"> + Require all denied + </Files> + <Files "common.php"> + Require all denied + </Files> + </IfModule> + </IfModule> +</Directory> +<Directory "/opt/bitnami/phpbb/store"> + # With Apache 2.4 the "Order, Deny" syntax has been deprecated and moved from + # module mod_authz_host to a new module called mod_access_compat (which may be + # disabled) and a new "Require" syntax has been introduced to mod_authz_core. + # We could just conditionally provide both versions, but unfortunately Apache + # does not explicitly tell us its version if the module mod_version is not + # available. In this case, we check for the availability of module + # mod_authz_core (which should be on 2.4 or higher only) as a best guess. + <IfModule mod_version.c> + <IfVersion < 2.4> + Order Allow,Deny + Deny from All + </IfVersion> + <IfVersion >= 2.4> + Require all denied + </IfVersion> + </IfModule> + <IfModule !mod_version.c> + <IfModule !mod_authz_core.c> + Order Allow,Deny + Deny from All + </IfModule> + <IfModule mod_authz_core.c> + Require all denied + </IfModule> + </IfModule> +</Directory> +<Directory "/opt/bitnami/phpbb/includes"> + # With Apache 2.4 the "Order, Deny" syntax has been deprecated and moved from + # module mod_authz_host to a new module called mod_access_compat (which may be + # disabled) and a new "Require" syntax has been introduced to mod_authz_core. + # We could just conditionally provide both versions, but unfortunately Apache + # does not explicitly tell us its version if the module mod_version is not + # available. In this case, we check for the availability of module + # mod_authz_core (which should be on 2.4 or higher only) as a best guess. + <IfModule mod_version.c> + <IfVersion < 2.4> + Order Allow,Deny + Deny from All + </IfVersion> + <IfVersion >= 2.4> + Require all denied + </IfVersion> + </IfModule> + <IfModule !mod_version.c> + <IfModule !mod_authz_core.c> + Order Allow,Deny + Deny from All + </IfModule> + <IfModule mod_authz_core.c> + Require all denied + </IfModule> + </IfModule> +</Directory> +<Directory "/opt/bitnami/phpbb/config"> + # With Apache 2.4 the "Order, Deny" syntax has been deprecated and moved from + # module mod_authz_host to a new module called mod_access_compat (which may be + # disabled) and a new "Require" syntax has been introduced to mod_authz_core. + # We could just conditionally provide both versions, but unfortunately Apache + # does not explicitly tell us its version if the module mod_version is not + # available. In this case, we check for the availability of module + # mod_authz_core (which should be on 2.4 or higher only) as a best guess. + <IfModule mod_version.c> + <IfVersion < 2.4> + Order Allow,Deny + Deny from All + </IfVersion> + <IfVersion >= 2.4> + Require all denied + </IfVersion> + </IfModule> + <IfModule !mod_version.c> + <IfModule !mod_authz_core.c> + Order Allow,Deny + Deny from All + </IfModule> + <IfModule mod_authz_core.c> + Require all denied + </IfModule> + </IfModule> +</Directory> +<Directory "/opt/bitnami/phpbb/images/avatars/upload"> + # With Apache 2.4 the "Order, Deny" syntax has been deprecated and moved from + # module mod_authz_host to a new module called mod_access_compat (which may be + # disabled) and a new "Require" syntax has been introduced to mod_authz_core. + # We could just conditionally provide both versions, but unfortunately Apache + # does not explicitly tell us its version if the module mod_version is not + # available. In this case, we check for the availability of module + # mod_authz_core (which should be on 2.4 or higher only) as a best guess. + <IfModule mod_version.c> + <IfVersion < 2.4> + Order Allow,Deny + Deny from All + </IfVersion> + <IfVersion >= 2.4> + Require all denied + </IfVersion> + </IfModule> + <IfModule !mod_version.c> + <IfModule !mod_authz_core.c> + Order Allow,Deny + Deny from All + </IfModule> + <IfModule mod_authz_core.c> + Require all denied + </IfModule> + </IfModule> +</Directory> +<Directory "/opt/bitnami/phpbb/phpbb/db/migration/data"> + # With Apache 2.4 the "Order, Deny" syntax has been deprecated and moved from + # module mod_authz_host to a new module called mod_access_compat (which may be + # disabled) and a new "Require" syntax has been introduced to mod_authz_core. + # We could just conditionally provide both versions, but unfortunately Apache + # does not explicitly tell us its version if the module mod_version is not + # available. In this case, we check for the availability of module + # mod_authz_core (which should be on 2.4 or higher only) as a best guess. + <IfModule mod_version.c> + <IfVersion < 2.4> + Order Allow,Deny + Deny from All + </IfVersion> + <IfVersion >= 2.4> + Require all denied + </IfVersion> + </IfModule> + <IfModule !mod_version.c> + <IfModule !mod_authz_core.c> + Order Allow,Deny + Deny from All + </IfModule> + <IfModule mod_authz_core.c> + Require all denied + </IfModule> + </IfModule> +</Directory> -- GitLab