Rewrite

Discuss phpwcms here, please do not post support requests, bug reports, or feature requests! Non-phpwcms questions, discussion goes in General Chat!
User avatar
juergen
Moderator
Posts: 4556
Joined: Mon 10. Jan 2005, 18:10
Location: Weinheim
Contact:

Rewrite

Post by juergen »

Code: Select all

# This will rewrite mypage.html => index.php?mypage
 	#	RewriteRule ^(.+)\.phtml$ index.php?$1
 	#	RewriteRule ^(.+)\.html$ index.php?$1
Ich bin ja völlig verzückt. Hat das schon irgendwo bereits geklappt ? (Ich meine die letzte Zeile)
nameless1
Posts: 878
Joined: Sun 27. Apr 2008, 23:22

Re: Rewrite

Post by nameless1 »

yupp
User avatar
juergen
Moderator
Posts: 4556
Joined: Mon 10. Jan 2005, 18:10
Location: Weinheim
Contact:

Re: Rewrite

Post by juergen »

Gibt es einen Paramter in der config Datei um die Generierung der internen Links einzustellen ?
User avatar
flip-flop
Moderator
Posts: 8178
Joined: Sat 21. May 2005, 21:25
Location: HAMM (Germany)
Contact:

Re: Rewrite

Post by flip-flop »

Wie gehabt:

Code: Select all

$phpwcms['rewrite_url']       = 1;        //whether URL should be rewritable
Das ist neu, hier kann die Endung eingestellt werden die vom CMS verwendet wird.

Code: Select all

$phpwcms['rewrite_ext']	  	  = '.html'; // The file extension used while URL is rewritten
Die Endung muss hier auch eingetragen werden:

Code: Select all

	RewriteRule ^([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\.html$ index.php?id=$1,$2,$3,$4,$5,$6
	RewriteRule ^(.+)\.html$ index.php?$1 

Code: Select all

<IfModule mod_rewrite.c>
	RewriteEngine On

	# This will rewrite 0.0.0.0.0.0.phtml => index.php?id=0.0.0.0.0.0
	RewriteRule ^([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\.html$ index.php?id=$1,$2,$3,$4,$5,$6
	
	# This will rewrite mypage.html => index.php?mypage
	RewriteRule ^(.+)\.html$ index.php?$1
</IfModule>
Ich habe es mit der Unterverzeichnisvariante getestet und es funktioniert.

Bei der Variante .phtml steht dann in der config:

Code: Select all

$phpwcms['rewrite_ext']	  	  = '.phtml'; // The file extension used while URL is rewritten
Und in der .htaccess:

Code: Select all

	RewriteRule ^([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\.phtml$ index.php?id=$1,$2,$3,$4,$5,$6
	RewriteRule ^(.+)\.phtml$ index.php?$1 
Bei Problemen mit dem FCK in der Einstellung .html, siehe Olivers Posting weiter unten.

Code: Select all

# Ignore
   RewriteRule ^(include|img|template|picture|filearchive|content)/ - [L]
>> HowTo | DOCU | FAQ | TEMPLATES/DOCS << ( SITE )
User avatar
juergen
Moderator
Posts: 4556
Joined: Mon 10. Jan 2005, 18:10
Location: Weinheim
Contact:

Re: Rewrite

Post by juergen »

Rewrite royal .... ;)
User avatar
flip-flop
Moderator
Posts: 8178
Joined: Sat 21. May 2005, 21:25
Location: HAMM (Germany)
Contact:

Re: Rewrite

Post by flip-flop »

Achtung:
.html geht nicht mit dem FCK im BE zusammen, der CK funktioniert.
>> HowTo | DOCU | FAQ | TEMPLATES/DOCS << ( SITE )
nameless1
Posts: 878
Joined: Sun 27. Apr 2008, 23:22

Re: Rewrite

Post by nameless1 »

ebenfalls achtung! bei einem change auf einer aktiven seite landen die suchmaschinen links ggf. im 404. deshalb htaccess eintrag anpassen.
abhilfe schafft

Code: Select all

RewriteRule ^([^.]+).phtml$ /$1.html [QSA,L]
cheers
nml1
User avatar
Oliver Georgi
Site Admin
Posts: 9889
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Rewrite

Post by Oliver Georgi »

Ausnahme für Rewrite definieren, sowie in ein Unterverzeichnis gegangen wird.

Code: Select all

RewriteRule ^(include|img|template|picture|filearchive|content)/ - [L]
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
nameless1
Posts: 878
Joined: Sun 27. Apr 2008, 23:22

Re: Rewrite

Post by nameless1 »

@og:
sehr gut und wichtig, habe ich gerade beim aufruf des fck-editors gemerkt!
User avatar
Oliver Georgi
Site Admin
Posts: 9889
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Rewrite

Post by Oliver Georgi »

Hier die optimierte .htaccess:

Code: Select all

<IfModule mod_rewrite.c>

# Check that you have set Options FollowSymLinks
# and right Allow
	RewriteEngine On

	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d

# maybe you need this
#	DirectoryIndex index.html index.php 


# Default ReWrite settings for phpwcms
# ====================================

#	RewriteBase /mysubdir

# Ignore
	RewriteRule ^(include|img|template|picture|filearchive|content)/ - [L]

# Rewrite 0.0.0.0.0.0.phtml => index.php?id=0.0.0.0.0.0
	RewriteRule ^([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\.html$ index.php?id=$1,$2,$3,$4,$5,$6

# Rewrite mypage.html => index.php?mypage
	RewriteRule ^(.+)\.html$ index.php?$1

</IfModule>
Konfiguration:

Code: Select all

$phpwcms['rewrite_url'] = 1;
$phpwcms['rewrite_ext'] = '.html';
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
phalancs
Posts: 793
Joined: Thu 19. Feb 2004, 05:09
Location: Germany

Re: Rewrite

Post by phalancs »

Hammer!!! Ich freu mich und werds gleich mal testen. Kommt die neue htaccess auch in den nächsten release? :D
2008
User avatar
flip-flop
Moderator
Posts: 8178
Joined: Sat 21. May 2005, 21:25
Location: HAMM (Germany)
Contact:

Re: Rewrite

Post by flip-flop »

Dazu brauchst du keine neue .htaccess bzw. wird mitgeliefert.

Bei mir funktionieren die Artikel-Links in der NAV_LSIT_UL und im Teaser bisher nicht, da wird aus

Code: Select all

http://example.com/wcms/r440/category01/cat01.html

Code: Select all

http://example.com/wcms/r440/category01%2Fcat01.html
/ wird durch %2F ersetzt.

Knut
>> HowTo | DOCU | FAQ | TEMPLATES/DOCS << ( SITE )
User avatar
Oliver Georgi
Site Admin
Posts: 9889
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Rewrite

Post by Oliver Georgi »

flip-flop wrote:Bei mir funktionieren die Artikel-Links in der NAV_LSIT_UL und im Teaser bisher nicht, da wird aus

Code: Select all

http://example.com/wcms/r440/category01/cat01.html

Code: Select all

http://example.com/wcms/r440/category01%2Fcat01.html
/ wird durch %2F ersetzt.
sollten trotzdem funktionieren, nur eben nicht "schön" aussehen.

[UPDATE] gefixt: http://code.google.com/p/phpwcms/source/detail?r=442
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
Pele
Posts: 22
Joined: Thu 17. Nov 2005, 09:36

Re: Rewrite

Post by Pele »

Bai mir funktioniert "rewrite mit .html " lokal alles perfekt, auf xamp. Auf dem Webserver, wenn ich auf example.com/category.html klicke bekomme ich Fehlermeldung:
Not Found:
The requested URL /www/webvxyz/kb/123456/example.com/public_html/index.php was not found on this server.
Laut phpinfo() ist mod_rewrite auf dem Webserver aktiv.
Ich benutze r442.
Sollich etws in der .htaccess ändern?
regards
Pele
User avatar
flip-flop
Moderator
Posts: 8178
Joined: Sat 21. May 2005, 21:25
Location: HAMM (Germany)
Contact:

Re: Rewrite

Post by flip-flop »

Hallo,

das kommt darauf an, wie deine .htaccess aussieht.
Hier ein funktionierendes Beispiel: http://forum.phpwcms.org/viewtopic.php?p=134516#p134516

Je nach Provider musst du u.U. RewriteBase /mysubdir aktivieren und anpassen.

Knut
>> HowTo | DOCU | FAQ | TEMPLATES/DOCS << ( SITE )
Post Reply