Permalinks

ka3ax

New Member
Hallo,
ich versuche schon seit drei Tagen vergeblichs den Server so zu konfiguiren, dass er mit Permalinks umgehen kann.

Ich hab bis jetzt den mod_rewrite aktiviert
Code:
ls /etc/apache2/mods-enabled/
alias.conf            authz_user.load  dir.load          php5.load
alias.load            autoindex.conf   env.load          rewrite.load
auth_basic.load       autoindex.load   mime.conf         setenvif.conf
authn_file.load       cgi.load         mime.load         setenvif.load
authz_default.load    deflate.conf     negotiation.conf  status.conf
authz_groupfile.load  deflate.load     negotiation.load  status.load
authz_host.load       dir.conf         php5.conf

in der /etc/apache2/sites-available/default dem Wert "AllowOverride" angepasst
Code:
<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www/
        <Directory />
                Options FollowSymLinks
                AllowOverride [B]FileInfo    # von "none" geändert[/B]
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride [B]FileInfo    # von "none" geändert[/B]
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

Ich hab es auch in der /etc/apache2/httpd.conf Probiert das hier einzufügen
Code:
<Directory /var/www/>
      AllowOverride [B]FileInfo[/B]
</Directory>
dennoch schaffe ich es nicht das der Server die Permalinks akzeptiert.

Ich sehe auch nicht in der phpinfo() den Wert "AllowOverride". Muss er da überhaupt auftauchen?

Danke im Forraus für alle Tips
 
ich versuche schon seit drei Tagen vergeblichs den Server so zu konfiguiren, dass er mit Permalinks umgehen kann.
Was verstehst du unter Permalinks?

Ich hab bis jetzt den mod_rewrite aktiviert
Ja, wie und wo?
 
Last edited by a moderator:
Was verstehst du unter Permalinks?

Ja, wie und wo?

mod_rewrite, taucht in phpinfo() unter "Loaded Modules" auf. Daher gehe ich aus, das er geladen wurde
Code:
Loaded Modules
core mod_log_config mod_logio prefork http_core mod_so mod_alias mod_auth_basic mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cgi mod_deflate mod_dir mod_env mod_mime mod_negotiation mod_php5 [B]mod_rewrite[/B] mod_setenvif mod_status
 
Da mod_rewrite bei dir geladen ist, wie sieht denn deine .htaccess aus (sofern du die Rewrite-Regeln dort festgelegt hast). Und bitte die komplette Datei und nicht nur der Teil, von dem du meinst, daß er mit rewrite zu tun hat.
 
Ein in Apache geladenes Modul muss noch lange nicht auch für ein Verzeichnis aktiv sein. Das Rewrite muss man noch extra aktivieren.
Stichworte RewriteEngine und RewriteRule.

Und was du unter Permalinks verstehst und wie du die generieren willst verschweigst du leider.
 
Da mod_rewrite bei dir geladen ist, wie sieht denn deine .htaccess aus (sofern du die Rewrite-Regeln dort festgelegt hast). Und bitte die komplette Datei und nicht nur der Teil, von dem du meinst, daß er mit rewrite zu tun hat.

also ich hab zum testen direkt im root-verzeichniss die .haccess datei angelgt
/var/www/.htaccess
Code:
RewriteEngine On
   RewriteBase /
   RewriteRule ^ www.google.com [R,L]

Beim Aufrufen von der domain.de/irgendwas sollte ich zur google.com umgeleitet werden.

aber ich bekommen nur den Fehelr 404. Auch in der Log von apache sehe ich auch nur den 404

Ich hab mcih an die Anleitung gehalten: http://www.xt-commerce.info/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=61
 
Du meinst wohl sowas:
Code:
RewriteEngine On
RewriteBase /
RewriteRule ^.*$ http://www.example.org [R,L]
Alles umleiten auf ....

Du kannst auch mal übergangsweise eine Logdatei erstellen von den Rewrites, dann weißt du wo es hakt.
Code:
RewriteLog "/var/www/mod_rewrite.log"
RewriteLogLevel 2

Weitere Beispiele:
http://de.selfhtml.org/servercgi/server/rewrite.htm
 
Last edited by a moderator:
hmm, also ich sehe absolut gar keine reaktion.

Hab jetzt de .htaccess so abgeändert:
Code:
RewriteEngine On
	RewriteLog "/var/www/mod_rewrite.log"
	RewriteLogLevel 2
	RewriteRule ^.*$ http://www.google.com [R,L]
und beim aufrufen von fomain.de/irgendwas bekomme ich immer noch den Fehler 404 und es wird keine Log datei erstellt

im /var/log/apache2/error.log sehe ich nur
Code:
[Tue Jan 03 18:20:01 2012] [error] [client xx.xx.xx.xx] File does not exist: /var/www/irgendwas

sonst keien weiteren Fehlermeldungen.

Ich glaub ich hab irgendwas ganz am anfag falsch gemacht. Wenn wir jetzt ganz vorne anfangen. Was muss man aktivieren um mit .htaccess arbeiten zu können? :confused:
 
In der .htaccess ist die Angabe des Loglevel und der Logdatei für mod_rewrite nicht erlaubt; das muss in der vhost.conf oder httpd.conf stehen.
Das hättest du aber auch sehen können im errorlog deines Webservers.
 
Ich weiß nicht, was für eine Konfiguration du wirklich verwendest.
Bei mir zum testen auf frischem Apache auf Debian 6.

in der /etc/apache2/sites-enabled/000-default
Code:
VirtualHost *:80>
	ServerAdmin webmaster@localhost
	
	DocumentRoot /var/www/
	<Directory />
		Options FollowSymLinks
		AllowOverride None
	</Directory>
	<Directory /var/www/>
		Options Indexes FollowSymLinks MultiViews
		#AllowOverride None
                	AllowOverride FileInfo
		Order allow,deny
		allow from all
	</Directory>

	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
	<Directory "/usr/lib/cgi-bin">
		AllowOverride None
		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
		Order allow,deny
		Allow from all
	</Directory>

	ErrorLog /var/log/apache2/error.log

	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn

	CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>
in der .htaccess folgendes:
Code:
RewriteEngine On
RewriteRule ^.*$ http://www.google.com [R,L]
 
Back
Top