mod rewrite failure
Sajan Parikh
sajan at parikh.io
Tue Mar 11 03:40:36 UTC 2014
Did you enable the rewrite module in apache?
sudo a2enmod rewrite
sudo service apache2 restart
Sajan Parikh
On 03/10/2014 08:18 PM, Roger wrote:
> Hello all.
> I'm going back to learning php and working through
> http://www.youtube.com/watch?v=Aw28-krO7ZM which is how to set up MCV in
> php.
> I have Slim installed also with intent to utilise that in the future.
>
> Have a bit of a problem I think with mod_rewrite.
> I have run a2enmod rewrite - no errors.
> In /etc/apache2/apache2.conf I have:
> ServerName localhost
>
> <Directory /var/www/>
> Options Indexes FollowSymLinks
> # changed from None to FileInfo March 10
> AllowOverride All
> Require all granted
> </Directory>
>
> <Directory /var/www/public>
> Options Indexes FollowSymLinks
> AllowOverride All
> Require all granted
> </Directory>
> ----------========----------
> .htaccess:
> RewriteEngine On
> RewriteCond %{REQUEST_RILENAME} !-d
> RewriteCond %{REQUEST_RILENAME} !-f
> RewriteCond %{REQUEST_RILENAME} !-l
> RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
> ----------========----------
>
> index.php
> <?php
>
> // $url = $_GET['url'];
>
> explode('/', $_GET['url']);
> print_r($url);
>
> echo 'This is the main ', $url;
>
> require 'controllers/'.$url.'.php';
> $controller = new $url;
> ----------========----------
> I have a /controllers directory which contains one index.php file and a
> help.php, both similar. The echo is only a way to see whether it's
> working or not.
> <?php
>
> class Index {
>
> function__construct(){
> echo "We are in Index in the controller"; }
> }
> ?>
> controller
> ----------========----------
> /var/log/apache2/error.log reports:
> [Tue Mar 11 11:39:32.215554 2014] [:error] [pid 7257] [client ::1:47416]
> PHP Stack trace:
> [Tue Mar 11 11:39:32.215571 2014] [:error] [pid 7257] [client ::1:47416]
> PHP 1. {main}() /var/www/mvc/index.php:0
> [Tue Mar 11 11:39:32.215600 2014] [:error] [pid 7257] [client ::1:47416]
> PHP Fatal error: require(): Failed opening required 'controllers/.php'
> (include_path='.:/usr/share/php:/usr/share/pear') in
> /var/www/mvc/index.php on line 10
> [Tue Mar 11 11:39:32.215612 2014] [:error] [pid 7257] [client ::1:47416]
> PHP Stack trace:
> [Tue Mar 11 11:39:32.215628 2014] [:error] [pid 7257] [client ::1:47416]
> PHP 1. {main}() /var/www/mvc/index.php:0
>
> My problem is that the main index.php require directive does not find
> the /controllers files.
>
> Without the require command the main index.php works and the $url =
> $_GET['url']; prints the url in the browser but with the require it
> echoes 'This is the main' and nothing more.
>
> I have the same problem in Slim where requires and includes do not work.
>
> I remember when working with Drupal I could not get the urls to work had
> to use url?=whatever/file
> Frankly, I'm lost as to where to look next. Can someone clue me in to
> resolve this.
> thank you in advance
> Roger
>
More information about the ubuntu-users
mailing list