URL ohne index.php

Aus eZ Wiki

Wechseln zu: Navigation, Suche

Entwurf


Diese Seite muss vervollständigt werden. Für Diskussionen und Rechercheergebnisse kann auch die Diskussionsseite genutzt werden.

Alles zum Thema schöne URLs mit eZ Publish.

Da kursieren diverse Versionen in den eZ-Foren. Teils für die httpd.conf, teils für .htaccess. Da muss man sich mal was hübsches raussuchen und für eigene Bedürfnisse zusammenstellen. Hier ist der Kram erstmal kommentarlos zusammengetragen.


http.conf

DirectoryIndex index.php

<FilesMatch "([^.+])$">
order allow,deny
allow from all
</FilesMatch>

RewriteEngine On

RewriteBase /
# to avoid double entries in searchengine indexes
#RewriteCond %{HTTP_HOST} ^(hostname2\.example\.com)$
#RewriteRule ^(.*)$ http://hostname.example.com/$1 [redirect=permanent,last]

# to use WebDAV
#RewriteCond %{HTTP_HOST} ^(webdav\..*)$
#RewriteRule ^(.*)$ webdav.php [L]

# to use SOAP
#RewriteCond %{HTTP_HOST} ^(soap\..*)$
#RewriteRule ^(.*)$ soap.php [L]

# swiching for this cases the frontcontoller access
RewriteRule ^robots\.txt$ - [L]
RewriteRule ^favicon\.ico$ - [L]
RewriteRule ^sitemap\.xml - [L]
Rewriterule ^var/storage/.*$ - [L]
Rewriterule ^var/[^/]+/storage/.*$ - [L]
RewriteRule ^var/cache/texttoimage/.*$ - [L]
RewriteRule ^var/[^/]+/cache/texttoimage/.*$ - [L]
Rewriterule ^design/[^/]+/(stylesheets|images|flash|banner|javascript)/.*$ - [L]
Rewriterule ^share/icons/.*$ - [L]
Rewriterule ^extension/[^/]+/design/[^/]+/(stylesheets|images|javascripts?)/.*$ - [L]
Rewriterule ^packages/styles/.+/(stylesheets|images|javascript)/[^/]+/.*$ - [L]
RewriteRule ^packages/styles/.+/thumbnail/.*$ - [L]

# Uncomment the following lines when using popup style debug.
# RewriteRule ^/var/cache/debug\.html.* - [L]
# RewriteRule ^/var/[^/]+/cache/debug\.html.* - [L]

# for use of dynamicTreemenu
RewriteRule ^content/treemenu/.*$ index_treemenu.php [L]

# directing all other requests to the frontcontroller
RewriteRule .* index.php

.htaccess

This topic has surfaced several times. If I find the time I'll write a tutorial for removing index.php without virtual host setup soon... 
These are my rewrite-rules in .htaccess which allows me to use clean URLs without having access to httpd.conf:




RewriteEngine On


# Static cache
RewriteCond %{HTTP_HOST} ^(www\.)?myserver\.com$ [NC]
RewriteCond /dir/to/ez/static/siteaccess/index.html -f
RewriteRule ^/$ static/siteaccess/index.html [L]
RewriteCond %{HTTP_HOST} ^(www\.)?myserver\.com$ [NC]
RewriteCond /dir/to/ez/static/siteaccess/index.html -f
RewriteRule ^$ static/siteaccess/index.html [L]

RewriteCond %{HTTP_HOST} ^(www\.)?myserver\.com$ [NC]
RewriteCond %{REQUEST_METHOD} !^POST$
RewriteCond /dir/to/ez/static/siteaccess/$1/index.html -f
RewriteRule ^(.*)$ static/siteaccess/$1/index.html [L]

# eZ Publish access
RewriteCond %{HTTP_HOST} ^(www\.)?myserver\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/index\.php/siteaccess [NC]
RewriteCond %{REQUEST_URI} !^/design/ [NC]
RewriteCond %{REQUEST_URI} !^/var/ [NC]
RewriteCond %{REQUEST_URI} !^/static/ [NC]
RewriteCond %{REQUEST_URI} \.(gif|jpe?g|png|css|js|html|ico)|var(.+)storage.pdf(.+)\.pdf$
RewriteRule ^(.*)$ /index\.php/siteaccess/$1 [L]

site.ini

Wichtig ist die Einstellung in der site.ini.

 [SiteAccessSettings]
 ForceVirtualHost=true
 RemoveSiteAccessIfDefaultAccess=enabled 



Weblinks


http://ez.no