Zur Navigation

suche Hilfe bei .htacces

1 Christian

Salve

Ich bereite die Umstellung von meinem WD auf das neue Script vor. Damit die Verlinkungen, die ich direkt in die Kategorien gemacht habe weiterhin funktionieren habe ich vor, jede URL zu einer alten Kategorie per 301er auf die neue URL der entsprechenden Kategorie zu leiten.

Wird eine lustige Arbeit ;) Die .htaccess sieht heute so aus:
RewriteEngine on
RewriteBase / 
RewriteCond %{HTTP_HOST} !^www\.webmaster-directory\.biz$ 
RewriteRule ^(.*)$ http://www.webmaster-directory.biz/$1 [L,R=301]


RewriteRule index.html$ index.php [PT]
RewriteRule ^-(.*)-(.[0-9]*).html index.php?c=$2
RewriteRule ^-(.*)-(.[0-9]*),(.[0-9]*).html index.php?c=$2&s=$3
RewriteRule ^url-hinzufuegen-(.*)-(.*).html add_url.php?c=$2
#RewriteRule ^s-(.*).html$ search.php?q=$1
#RewriteRule ^meistgesucht-(.*).html$ meistgesuchtx.php?page=$1

Tja... jetzt muss noch rein:

webmaster-directory.biz zu www.webmaster-directory.biz (Wieso das nicht mehr drin ist weiss der Teufel, ich nicht....) und

http://www.webmaster-directory.biz/-Arbeit-Weiterbildung-Schule-135.html zu
http://www.webmaster-directory.biz/Arbeit-Weiterbildung-Schule/

Wenn ich die erste Kategorie als Vorbild habe dürfte der Rest Fleissarbeit sein. Hoffe ich zumindest.... und das kann ich dann auch alleine machen.

Dann kommt noch folgendes Problem. Hier ist noch die .htaccess vom phpLD-Skript, die müsste auch noch reingepackt werden:
#################################################
## PHP Link Directory - Apache Server Settings ##
#################################################

# Prevent .htaccess and .htpasswd files from being viewed by web clients


# Customized error messages
# ( If you are running in a subfolder please add it, example: "directory/index.php?httpstatus=404" )
ErrorDocument 404 index.php?httpstatus=404

# Set the default handler
DirectoryIndex index.php

# URL rewrite rules
<IfModule mod_rewrite.c>
   RewriteEngine On

   #Make sure RewriteBase points to the directory where you installed phpLD.
   #Example: "/phpld" if your installation is in a "phpld" subdirectory.

   RewriteBase /linkdir

   ##Latest Links Rewrite
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteCond %{REQUEST_FILENAME} !-l
   RewriteRule ^latest-links\.htm[l]?$ index.php?list=latest [QSA,NC,L]

   ##Top Hits Rewrite
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteCond %{REQUEST_FILENAME} !-l
   RewriteRule ^top-hits\.htm[l]?$ index.php?list=top [QSA,NC,L]

   ##Latest Articles Rewrite
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteCond %{REQUEST_FILENAME} !-l
   RewriteRule ^latest-articles\.htm[l]?$ index.php?list=latestarticles [QSA,NC,L]

   ##Details Link Page Rewrite
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteCond %{REQUEST_FILENAME} !-l
   RewriteRule (.*)detail/link-(.*)\.htm[l]?$ detail.php [QSA,NC]

   ##Article Page Rewrite
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteCond %{REQUEST_FILENAME} !-l
   RewriteRule (.*)articles/article-(.*)\.htm[l]?$ article.php [QSA,NC]

   ##Pagination Rewrite
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteCond %{REQUEST_FILENAME} !-l
   RewriteRule (.*)page-(\d+)\.htm[l]?(.*)$  $1/?p=$2 [PT,NC]

   ##Category redirect
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteCond %{REQUEST_FILENAME} !-l
   RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

Ich nehme natürlich auch gerne Verbesserungsvorschläge entgegen... ;)

Jo, wer hat Lust?


Christian

Artikel 19 der UNO-Resulotion 217A3 10.12.1948

07.06.2007 11:26 | geändert: 07.06.2007 11:30

2 Jörg

Hallo Christian,

webmaster-directory.biz zu www.webmaster-directory.biz (Wieso das nicht mehr drin ist weiss der Teufel, ich nicht....)

Drin ist es noch:

RewriteCond %{HTTP_HOST} !^www\.webmaster-directory\.biz$ 
RewriteRule ^(.*)$ http://www.webmaster-directory.biz/$1 [L,R=301]

Abrt die Weiterleitung funktioniert nicht mehr?

http://www.webmaster-directory.biz/-Arbeit-Weiterbildung-Schule-135.html zu
http://www.webmaster-directory.biz/Arbeit-Weiterbildung-Schule/

Also letztere URL soll aufgerufen werden, und der Inhalt der ersten URL soll angezigt werden. Das lässt sich wohl incht mit einer einfachen Rule zusammenfassen. Da müsstest du wohl einzeln weiterleiten und da könntest auch gleich besser mit "Redirect permanent" stat mit modrewrite weiterleiten:

Redirect permanent /-Arbeit-Weiterbildung-Schule-135.html http://www.webmaster-directory.biz/Arbeit-Weiterbildung-Schule/

Die Redirects würde ich nach der DirectoryIndex Zeile auflisten, die Weiterleitung zur www.-Subdomain direkt nach "RewriteEgine on". Und danach ausgiebig testen ;)

07.06.2007 13:07

3 Jörg

Nachtrag / Korrektur:

Redirect permanent /-Arbeit-Weiterbildung-Schule-135.html http://www.webmaster-directory.biz/Arbeit-Weiterbildung-Schule/

Vielleicht könnte man dies doch mit einer RewriteRule zusammengefasst werden, probier mal diese Rule aus (unterhalb der RewriteBase-Zeile):

RewriteRule (-)?(.+)-([0-9]+)\.html http://www.webmaster-directory.biz/$1/ [R=301,L]

07.06.2007 13:19 | geändert: 07.06.2007 13:20

4 Christian

Salve

Also letztere URL soll aufgerufen werden, und der Inhalt der ersten URL soll angezigt werden.
Inhaltlich stimmen die beiden URL überein. Also soll von der einen auf die andere URL weitergeleitet werden, damit kein DC entsteht resp. die bereits bestehenden Links nicht ins Leere führen.

Die Redirects würde ich nach der DirectoryIndex Zeile auflisten
heisst jetzt für die zweite .htaccess (die muss dann benutzt werden für das phpLD) ?

Und danach ausgiebig testen ;)
Sind ja nur etwa 40 Zeilen ;)

Gruss
Christian

Artikel 19 der UNO-Resulotion 217A3 10.12.1948

07.06.2007 13:20

5 Jörg

Ich würde die zweite, ausführlichere .htaccess nehmen, und den Inhalt der ersten dort einbauen

Die beiden Zeilen für die Weiterleitung nach www wie gesagt direkt unterhalb von RewriteEngine on

Und diese hier würde ich weit nach unten schieben:

RewriteRule index.html$ index.php [PT]
RewriteRule ^-(.*)-(.[0-9]*).html index.php?c=$2
RewriteRule ^-(.*)-(.[0-9]*),(.[0-9]*).html index.php?c=$2&s=$3
RewriteRule ^url-hinzufuegen-(.*)-(.*).html add_url.php?c=$2

... aber noch vor diesem letzten Block unterbringen:

##Category redirect
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteRule ^(.*)$ index.php [QSA,L]

Dann musst du nur noch austesten, ob sich die Rules der beiden .htaccess in die Quere kommen oder nicht

07.06.2007 13:27 | geändert: 07.06.2007 13:29

6 Christian

danke... ich werde mich melden wenn ja!


Gruss
Christian

Artikel 19 der UNO-Resulotion 217A3 10.12.1948

07.06.2007 13:30

Beitrag schreiben (als Gast)

Beim Verfassen des Beitrages bitte die Forenregeln beachten.





[BBCode-Hilfe]