Die für Suchmaschinen schlecht geeigneten Urls von Typo3 müssen auf taugliche Links umgemappt werden; dies macht Apache über das rewrite-Modul

 

Mit der Typo-Installation wird das folgende .htaccess-File mitgeliefert; es heißt _htaccess und muß auf .htaccess umbenamst werden.

 

Funzt bei mir mit folgender Apache-Konfiguration unter WinXP

 

Im Typo root (z.B. e:\bigapache\apache\htdocs\quickstart7) liegt folgende .htaccess-Datei

RewriteEngine On
uploads|showpic\.php)/ - [L]
RewriteRule ^(typo3|typo3temp|typo3conf|t3lib|tslib|fileadmin|uploads|showpic\.php)/ - [L]


RewriteRule ^typo3$ typo3/index_re.php [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php [L]

 

### httpd.conf

### Section 1: Global Environment

ServerRoot "e://BigApache/Apache"

PidFile logs/httpd.pid

Timeout 300

KeepAlive On

MaxKeepAliveRequests 100

KeepAliveTimeout 15

 

<IfModule prefork.c>

StartServers         5

MinSpareServers      5

MaxSpareServers     10

MaxClients         150

MaxRequestsPerChild  0

</IfModule>

 

<IfModule worker.c>

StartServers         2

MaxClients         150

MinSpareThreads     25

MaxSpareThreads     75

ThreadsPerChild     25

MaxRequestsPerChild  0

</IfModule>

 

<IfModule mpm_winnt.c>

ThreadsPerChild 250

MaxRequestsPerChild  0

</IfModule>

 

Listen 80

Listen 443

 

LoadModule access_module modules/mod_access.so

LoadModule actions_module modules/mod_actions.so

LoadModule alias_module modules/mod_alias.so

LoadModule asis_module modules/mod_asis.so

LoadModule auth_module modules/mod_auth.so

LoadModule autoindex_module modules/mod_autoindex.so

LoadModule dir_module modules/mod_dir.so

LoadModule env_module modules/mod_env.so

LoadModule imap_module modules/mod_imap.so

LoadModule include_module modules/mod_include.so

LoadModule info_module modules/mod_info.so

LoadModule isapi_module modules/mod_isapi.so

LoadModule log_config_module modules/mod_log_config.so

LoadModule mime_module modules/mod_mime.so

LoadModule negotiation_module modules/mod_negotiation.so

LoadModule setenvif_module modules/mod_setenvif.so

LoadModule status_module modules/mod_status.so

LoadModule userdir_module modules/mod_userdir.so

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_connect_module modules/mod_proxy_connect.so

LoadModule proxy_http_module modules/mod_proxy_http.so

LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

LoadModule dav_fs_module modules/mod_dav_fs.so

LoadModule rewrite_module modules/mod_rewrite.so

LoadModule headers_module modules/mod_headers.so

LoadModule vhost_alias_module modules/mod_vhost_alias.so

LoadModule dav_module modules/mod_dav.so

LoadModule auth_anon_module modules/mod_auth_anon.so

LoadModule expires_module modules/mod_expires.so

LoadModule ssl_module modules/mod_ssl.so

LoadModule cgi_module modules/mod_cgi.so

LoadModule php4_module "e://BigApache/php/sapi/php4apache2.dll"

 

#include Apache Tomcat/JBoss

 

#include Apache modperl

include "e://BigApache/Apache/conf/mod_perl.conf"

 

<IfModule mod_fastcgi.c>

#Alias /phpbin/ "@@PHPWIN@@"

#FastCgiServer "@@PHPWINEXE@@" -processes 3

#AddType application/x-httpd-fastphp .php .php3

#Action application/x-httpd-fastphp "/phpbin/php.exe"

</IfModule>

 

 

#LoadModule cern_meta_module modules/mod_cern_meta.so

#LoadModule auth_dbm_module modules/mod_auth_dbm.so

#LoadModule auth_digest_module modules/mod_auth_digest.so

#LoadModule file_cache_module modules/mod_file_cache.so

#LoadModule mime_magic_module modules/mod_mime_magic.so

#LoadModule speling_module modules/mod_speling.so

#LoadModule unique_id_module modules/mod_unique_id.so

#LoadModule usertrack_module modules/mod_usertrack.so

 

 

### Section 2: 'Main' server configuration

ServerAdmin kner@kner.at

 

ServerName KNERPRIVAT2

 

UseCanonicalName Off

 

DocumentRoot "e://BigApache/Apache/htdocs"

 

<Directory />

    Options FollowSymLinks

    AllowOverride None

</Directory>

 

<Directory "e://BigApache/Apache/htdocs">

    Options Indexes FollowSymLinks Includes

    AllowOverride All

    Order allow,deny

    Allow from all

    AddHandler type-map var

    AddHandler server-parsed .html

    #AddHandler python-program .py

    #PythonHandler mptest

    DirectoryIndex index.html index.asp index.html.var index.php index.php3 index.py

</Directory>

 

UserDir UserDir public_html

 

DirectoryIndex index.asp index.html index.html.var index.php index.php3 index.py

 

 

AccessFileName .htaccess

 

<Files ~ "^\.ht">

    Order allow,deny

    Deny from all

</Files>

 

TypesConfig conf/mime.types

 

DefaultType text/plain

 

<IfModule mod_mime_magic.c>

    MIMEMagicFile conf/magic

</IfModule>

 

HostnameLookups Off

 

LogLevel warn

 

## The following directives define some format nicknames for use with

## a CustomLog directive (see below).

ErrorLog logs/error.log

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

LogFormat "%h %l %u %t \"%r\" %>s %b" common

LogFormat "%{Referer}i -> %U" referer

LogFormat "%{User-agent}i" agent

CustomLog logs/access.log combined

 

ServerSignature On

 

Alias /icons/ "e://BigApache/Apache/icons/"

 

<Directory  "e://BigApache/Apache/icons">

    Options Indexes MultiViews

    AllowOverride None

    Order allow,deny

    Allow from all

</Directory>

 

Alias /manual/ "e://BigApache/Apache/manual/"

 

<Directory  "e://BigApache/Apache/manual">

    Options Indexes

    AllowOverride None

    Order allow,deny

    Allow from all

 

    <Files *.html>

        SetHandler type-map

    </Files>

 

    SetEnvIf Request_URI ^/manual/de/ prefer-language=de

    SetEnvIf Request_URI ^/manual/en/ prefer-language=en

    SetEnvIf Request_URI ^/manual/fr/ prefer-language=fr

    SetEnvIf Request_URI ^/manual/ja/ prefer-language=ja

    SetEnvIf Request_URI ^/manual/ko/ prefer-language=ko

    SetEnvIf Request_URI ^/manual/ru/ prefer-language=ru

    RedirectMatch 301 ^/manual(?:/(de|en|fr|ja|ko|ru)){2,}(/.*)?$ /manual/$1$2

</Directory>

 

Alias /docs/ "e://BigApache/docs/"

 

<Directory  "e://BigApache/docs">

    Options Indexes FollowSymLinks MultiViews

    AllowOverride None

    Order allow,deny

    Allow from all

</Directory>

 

Alias /mmcache/ "e://BigApache/Apache/mmc_tools/"

 

<Directory  "e://BigApache/Apache/mmc_tools">

    Options Indexes FollowSymLinks MultiViews

    Order Deny,Allow

    Deny from all

    Allow from 127.0.0.1

</Directory>

 

 

ScriptAlias /cgi-bin/ "e://BigApache/Apache/cgi-bin/"

 

<Directory  "e://BigApache/Apache/cgi-bin">

    AllowOverride None

    Options None

    Order allow,deny

    Allow from all

</Directory>

 

IndexOptions FancyIndexing VersionSort

 

AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip

 

AddIconByType (TXT,/icons/text.gif) text/*

AddIconByType (IMG,/icons/image2.gif) image/*

AddIconByType (SND,/icons/sound2.gif) audio/*

AddIconByType (VID,/icons/movie.gif) video/*

 

AddIcon /icons/binary.gif .bin .exe

AddIcon /icons/binhex.gif .hqx

AddIcon /icons/tar.gif .tar

AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv

AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip

AddIcon /icons/a.gif .ps .ai .eps

AddIcon /icons/layout.gif .html .shtml .htm .pdf

AddIcon /icons/text.gif .txt

AddIcon /icons/c.gif .c

AddIcon /icons/p.gif .pl .py

AddIcon /icons/f.gif .for

AddIcon /icons/dvi.gif .dvi

AddIcon /icons/uuencoded.gif .uu

AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl

AddIcon /icons/tex.gif .tex

AddIcon /icons/bomb.gif core

 

AddIcon /icons/back.gif ..

AddIcon /icons/hand.right.gif README

AddIcon /icons/folder.gif ^^DIRECTORY^^

AddIcon /icons/blank.gif ^^BLANKICON^^

DefaultIcon /icons/unknown.gif

 

ReadmeName README.html

HeaderName HEADER.html

IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

 

AddEncoding x-compress Z

AddEncoding x-gzip gz tgz

 

 

##### Languages ######

AddLanguage da .dk

AddLanguage nl .nl

AddLanguage en .en

AddLanguage et .et

AddLanguage fr .fr

AddLanguage de .de

AddLanguage he .he

AddLanguage el .el

AddLanguage it .it

AddLanguage ja .ja

AddLanguage pl .po

AddLanguage kr .kr

AddLanguage pt .pt

AddLanguage nn .nn

AddLanguage no .no

AddLanguage pt-br .pt-br

AddLanguage ltz .ltz

AddLanguage ca .ca

AddLanguage es .es

AddLanguage sv .se

AddLanguage cz .cz

AddLanguage ru .ru

AddLanguage tw .tw

AddLanguage zh-tw .tw

AddLanguage hr .hr

LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ltz ca es sv tw

ForceLanguagePriority Prefer Fallback

 

AddDefaultCharset UTF-8

 

AddCharset ISO-8859-1  .iso8859-1 .latin1

AddCharset ISO-8859-2  .iso8859-2 .latin2 .cen

AddCharset ISO-8859-3  .iso8859-3 .latin3

AddCharset ISO-8859-4  .iso8859-4 .latin4

AddCharset ISO-8859-5  .iso8859-5 .latin5 .cyr .iso-ru

AddCharset ISO-8859-6  .iso8859-6 .latin6 .arb

AddCharset ISO-8859-7  .iso8859-7 .latin7 .grk

AddCharset ISO-8859-8  .iso8859-8 .latin8 .heb

AddCharset ISO-8859-9  .iso8859-9 .latin9 .trk

AddCharset ISO-2022-JP .iso2022-jp .jis

AddCharset ISO-2022-KR .iso2022-kr .kis

AddCharset ISO-2022-CN .iso2022-cn .cis

AddCharset Big5        .Big5       .big5

# For russian, more than one charset is used (depends on client, mostly):

AddCharset WINDOWS-1251 .cp-1251   .win-1251

AddCharset CP866       .cp866

AddCharset KOI8-r      .koi8-r .koi8-ru

AddCharset KOI8-ru     .koi8-uk .ua

AddCharset ISO-10646-UCS-2 .ucs2

AddCharset ISO-10646-UCS-4 .ucs4

AddCharset UTF-8       .utf8

AddCharset GB2312      .gb2312 .gb

AddCharset utf-7       .utf7

AddCharset utf-8       .utf8

AddCharset big5        .big5 .b5

AddCharset EUC-TW      .euc-tw

AddCharset EUC-JP      .euc-jp

AddCharset EUC-KR      .euc-kr

AddCharset shift_jis   .sjis

 

AddType application/x-tar .tgz

AddType application/x-httpd-php .php .php3 .phtml

 

 

AddHandler type-map var

 

#

 

<IfModule mod_negotiation.c>

<IfModule mod_include.c>

Alias /error/ "e://BigApache/Apache/error/"

 

<Directory  "e://BigApache/Apache/error">

        AllowOverride None

        Options IncludesNoExec

        AddOutputFilter Includes html

        AddHandler type-map var

        Order allow,deny

        Allow from all

        LanguagePriority en de es fr

        ForceLanguagePriority Prefer Fallback

    </Directory>

 

    ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var

    ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var

    ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var

    ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var

    ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var

    ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var

    ErrorDocument 410 /error/HTTP_GONE.html.var

    ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var

    ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var

    ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var

    ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var

    ErrorDocument 415 /error/HTTP_SERVICE_UNAVAILABLE.html.var

    ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var

    ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var

    ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var

    ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var

    ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var

 

</IfModule>

</IfModule>

 

<IfModule sapi_apache2.c>

#AddInputFilter PHP .php

#AddOutputFilter PHP .php

#AddType text/html .php

PHPIniDir "e://BigApache/php"

</IfModule>

 

 

Alias /stat/ "e://BigApache/Apache/statistic/"

<Directory  "e://BigApache/Apache/statistic/">

AuthType Basic

AuthName "Statistik"

AuthUserFile "e://BigApache/Apache/conf/userfile"

require valid-user

AllowOverride None

Options Indexes

order allow,deny

allow from all

</Directory>

 

 

BrowserMatch "Mozilla/2" nokeepalive

BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0

BrowserMatch "RealPlayer 4\.0" force-response-1.0

BrowserMatch "Java/1\.0" force-response-1.0

BrowserMatch "JDK/1\.0" force-response-1.0

BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully

BrowserMatch "^WebDrive" redirect-carefully

 

<Location /server-status>

    SetHandler server-status

    Order deny,allow

    Deny from all

    Allow from 127.0.0.1

</Location>

 

<Location /server-info>

    SetHandler server-info

    Order deny,allow

    Deny from all

    Allow from 127.0.0.1

</Location>

 

<IfModule mod_ssl.c>

    Include conf/ssl.conf

</IfModule>

 

### Section 3: Virtual Hosts

#

# VirtualHost: If you want to maintain multiple domains/hostnames on your

# machine you can setup VirtualHost containers for them. Most configurations

# use only name-based virtual hosts so the server doesn't need to worry about

# IP addresses. This is indicated by the asterisks in the directives below.

#

# Please see the documentation at

# <URL:http://httpd.apache.org/docs-2.0/vhosts/>

# for further details before you try to setup virtual hosts.

#

# You may use the command line option '-S' to verify your virtual host

# configuration.

 

#

# Use name-based virtual hosting.

#

NameVirtualHost *:80

 

 

#

# VirtualHost example:

# Almost any Apache directive may go into a VirtualHost container.

# The first VirtualHost section is used for requests without a known

# server name.

#

<VirtualHost *:80>

    ServerAdmin localhost@local.com

    DocumentRoot e:/bigapache/apache/htdocs

    ServerName localhost

    ErrorLog e:/bigapache/apache/htdocs/error.log

</VirtualHost>

 

<VirtualHost *:80>

    ServerAdmin kner@kner.com

    DocumentRoot e:/kner.at/www

    ServerName kner

    ErrorLog e:/kner.at/www/error.log

</VirtualHost>

 

<VirtualHost *:80>

    ServerAdmin kner@kner.com

    DocumentRoot e:/tierarzt/www

    ServerName tierarzt

    ErrorLog e:/tierarzt/www/error.log

</VirtualHost>

 

 

# To assist in debugging rewriting, you could use these lines

# DON'T enable it for production!

# This will only work in httpd.conf, not in .htaccess files

 RewriteLog "e://BigApache/Apache/htdocs/rewrite.log"

 RewriteLogLevel 9

 

 

 

 

 

 

Hallo Gemeinde,

ich habe eine Frage bzgl. der suchmaschinenfreundlichen URL'S, und zwar, kann mir jemand sagen, ob man das auch auf Typo3 3.5.x realiosieren kann. Ich habe im .htaccess Folgendes Eingetragen:

 

Code:


RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^[^/]*\.html$ index.php

 



und [FE][simulateStaticDocuments]=1 im installationsmodul aktiviert, nur konnte ich die Konfigurationsvariable [FE][simulateStaticDocuments_addTitle] nicht überprüfen, da sie bei mir im Install-Modul gar nicht vorkommt.
Die habe ich per Hand im localconf.php reingeschrieben.

Es wird auch am Ende vertauscht, anstat index.php?id=10 steht dann 10.0.html, Grafik1 Die Seite kann aber nicht gefunden werden. Liegt es an Typo3(zu alte Version), oder an mir.

Weiss jemand Rat? [/quote][/code]

Nach oben



Anmeldungsdatum: 05.11.2002
Beiträge: 129

Grafik5Verfasst am: Fr Jan 21, 2005 8:20 pm    Titel:

Grafik6

 

Das simulateStaticDocuments_addTitle muss ins SETUP-Feld deines Templates.
Du gibts damit an, mit wie viele Zeichen der Titel in die URL integriert werden soll.

Das folgende Beispiel hätte dann eine URL wie folgt zur Folge:
max 20 Zeichen des Titels [.] Page ID [.] PageNum (meistens 0) [.] html

 

Code:

config.simulateStaticDocuments_addTitle = 20

 



Wenn das Dokument nicht funktioniert, funktioniert deine Rewrite Rule nicht richtig oder überhaupt nicht.

Dann musst du deine ReWrite Rule überprüfen und deinen Apache, ob ReWrite überhaupt aktiviert ist.