<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PHP Log &#187; mod_rewrite</title>
	<atom:link href="http://www.php-log.de/tags/mod_rewrite/feed" rel="self" type="application/rss+xml" />
	<link>http://www.php-log.de</link>
	<description>Eine feine Sammlung nützlicher PHP Notizen</description>
	<lastBuildDate>Thu, 27 May 2010 04:43:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>CakePHP &#8211; Installation in einem Verzeichnis</title>
		<link>http://www.php-log.de/452/php/cakephp-installation-in-einem-verzeichnis</link>
		<comments>http://www.php-log.de/452/php/cakephp-installation-in-einem-verzeichnis#comments</comments>
		<pubDate>Wed, 02 Sep 2009 22:28:06 +0000</pubDate>
		<dc:creator>ralle</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[mod_rewrite]]></category>

		<guid isPermaLink="false">http://www.php-log.de/?p=452</guid>
		<description><![CDATA[Üblicherweise werden CakePHP Applikation ja im Document Root eines Webserver installiert und sind dann direkt über die Domain zu erreichen. Wenn dies aber mal nicht der Fall ist, sollte man schon früh und gründlich prüfen ob der Ziel-Server überhaupt die technischen Voraussetzungen für den Betrieb einer modernen MVC Anwendung bietet. Da ich gerade vor genau [...]]]></description>
			<content:encoded><![CDATA[<p>Üblicherweise werden CakePHP Applikation ja im Document Root eines Webserver installiert und sind dann direkt über die Domain zu erreichen. Wenn dies aber mal nicht der Fall ist, sollte man schon früh und gründlich prüfen ob der Ziel-Server überhaupt die technischen Voraussetzungen für den Betrieb einer modernen MVC Anwendung bietet.<span id="more-452"></span></p>
<p>Da ich gerade vor genau diesem Problem stehe, habe ich eine kleine CakePHP Beispielanwendung zurecht geschustert, die in ein beliebiges Verzeichnis installiert werden kann. Dazu gibt es noch eine Installationsanleitung mit einigen Screenshots.</p>
<p>Download: <a href="http://www.php-log.de/wp-content/plugins/download-monitor/download.php?id=1" title="CakePHP Server Test">CakePHP Server Test</a></p>
<p>Achtung, diese Beipielanwendung ist in der index.php modifiziert. Wer Sie seine Anwendung in das regläre Directory Layout zurück transformieren will muss die index.php auf unterste Ebene anpassen oder durch das Original ersetzen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.php-log.de/452/php/cakephp-installation-in-einem-verzeichnis/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mod_Rewrite über eine Datei</title>
		<link>http://www.php-log.de/165/allgemeines/mod_rewrite-uber-eine-datei</link>
		<comments>http://www.php-log.de/165/allgemeines/mod_rewrite-uber-eine-datei#comments</comments>
		<pubDate>Wed, 11 Feb 2009 04:24:46 +0000</pubDate>
		<dc:creator>ralle</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[mod_rewrite]]></category>

		<guid isPermaLink="false">http://www.php-log.de/?p=165</guid>
		<description><![CDATA[Eigentlich jedes Framework dass das MVC Konzept abbildet, schickt jeden Request der am Webserver aufschlägt über eine zentrale Datei. Meist ist das die index.php die sich im Webroot befindet. Dies wird mit Hilfe des (gefürchteten) Apache Moduls &#8220;Mod Rewrite&#8221; realisiert und da &#8220;Mod Rewrite&#8221; lediglich ein Regelwerk vorgibt, und es dazu noch Reguläre Ausdrücke unterstützt, [...]]]></description>
			<content:encoded><![CDATA[<p>Eigentlich jedes Framework dass das MVC Konzept abbildet, schickt jeden Request der am Webserver aufschlägt über eine zentrale Datei. Meist ist das die index.php die sich im Webroot befindet. Dies wird mit Hilfe des (gefürchteten) Apache Moduls &#8220;Mod Rewrite&#8221; realisiert und da &#8220;Mod Rewrite&#8221; lediglich ein Regelwerk vorgibt, und es dazu noch Reguläre Ausdrücke unterstützt, gibt es gibt verschiedene Ansätze wie das erreicht werden kann. Ich möchte hier den Ansatz zeigen der meiner Meinung nach der flexibelste ist.<span id="more-165"></span></p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">    <span style="color: #00007f;">RewriteEngine</span> <span style="color: #0000ff;">On</span>
    <span style="color: #00007f;">RewriteCond</span> %{REQUEST_FILENAME} !-d
    <span style="color: #00007f;">RewriteCond</span> %{REQUEST_FILENAME} !-f
    <span style="color: #00007f;">RewriteRule</span> ^(.*)$ index.php?url=$<span style="color: #ff0000;">1</span> [QSA,L]</pre></div></div>

<p>Die Regel <strong>RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]</strong> besagt: &#8220;Schicke einfach jeden Request auf die index.php&#8221;. Die erste Rewrite Condition <strong>RewriteCond %{REQUEST_FILENAME} !-d</strong> aber sagt: &#8220;Gilt aber nicht wenn das Verzeichnis tatsächlich existiert&#8221;. Die zweite Rewrite Condition <strong>RewriteCond %{REQUEST_FILENAME} !-f</strong> fügt noch hinzu: &#8220;Und auch nicht wenn die Datei tatsächlich existiert&#8221;. Somit werden also alle &#8220;virtuellen&#8221; Requests auf die index.php geleitet, aber vorhandene Resourcen wie Bilder, CSS, JavaScript-Dateien etc. werden nicht über das Framework geschickt.</p>
<blockquote><p>Andere Ansätze funktionieren natürlich auch, aber bei diesem Ansatz ist es sehr einfach externe Scripte, die nicht zum Framework gehören, einzubinden. Im besten Fall legt man Sie einfach im Webroot ab.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.php-log.de/165/allgemeines/mod_rewrite-uber-eine-datei/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
