473,394 Members | 1,778 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,394 software developers and data experts.

Mod_rewrite and PHP headers

Hi,

I have verified that mod_rewrite is enabled on my Apache 2.2 instance.
However, now I'm having a problem just serving pages using .htaccess
files. Following Rik's advice, my .htaccess file is as follows

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} !^accesscontrol.php
RewriteRule ^(.*)$ accesscontrol.php?file=$1&%{QUERY_STRING} [NC,L]

Right now, my accesscontrol.php file only contains

<?php

header("HTTP/1.0 200 OK");

?>

But when I visit a php or html file in the directory with the .htaccess
file, I just get a blank browser screen and the page is not served. I
know the mod_rewrite module is working because I have successfully used
it. Any suggestions on what I'm doing wrong above?

Thanks, -

Oct 27 '06 #1
5 4823
Rik
la***********@zipmail.com wrote:
Hi,

I have verified that mod_rewrite is enabled on my Apache 2.2 instance.
However, now I'm having a problem just serving pages using .htaccess
files. Following Rik's advice, my .htaccess file is as follows

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} !^accesscontrol.php
RewriteRule ^(.*)$ accesscontrol.php?file=$1&%{QUERY_STRING} [NC,L]

Right now, my accesscontrol.php file only contains

<?php

header("HTTP/1.0 200 OK");
>>

But when I visit a php or html file in the directory with the
.htaccess file, I just get a blank browser screen and the page is not
served. I know the mod_rewrite module is working because I have
successfully used it. Any suggestions on what I'm doing wrong above?
A blank page may be served. A custom 404 document or indeed the page
requested will still have to be served, and will not automagically appear.

Try to check the header, livehttpheaders for Firfox or Fiddler for MSIE are
invaluable tools.

For instance, with you previous "HTTP/1/0 401 Unauthorised", the headers I
receive are:

HTTP/1.1 401 Unauthorized
Date: Fri, 27 Oct 2006 03:21:08 GMT
Server: Apache/2.2.2 (Win32) DAV/2 mod_ssl/2.2.2 OpenSSL/0.9.8b
mod_autoindex_color PHP/5.1.4
X-Powered-By: PHP/5.1.4
Content-Length: 24
Content-Type: text/html

But indeed, a blank page, because no error document is given.

In your accesscontrol you can either include your custom 401 document, or
serve the file after verification of the user.
--
Rik Wasmus
Oct 27 '06 #2
If data is POSTed to a PHP page (say form_response.php) and the request
is first intercepted by accesscontrol.php, if I determine that the user
is logged in and then have a line

include($requested_file) (as I believe was in your example)

will the POSTed request still be in tact for processing by
form_response.php?

Thanks for the help, - Dave

Rik wrote:
la***********@zipmail.com wrote:
Hi,

I have verified that mod_rewrite is enabled on my Apache 2.2 instance.
However, now I'm having a problem just serving pages using .htaccess
files. Following Rik's advice, my .htaccess file is as follows

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} !^accesscontrol.php
RewriteRule ^(.*)$ accesscontrol.php?file=$1&%{QUERY_STRING} [NC,L]

Right now, my accesscontrol.php file only contains

<?php

header("HTTP/1.0 200 OK");
>
But when I visit a php or html file in the directory with the
.htaccess file, I just get a blank browser screen and the page is not
served. I know the mod_rewrite module is working because I have
successfully used it. Any suggestions on what I'm doing wrong above?

A blank page may be served. A custom 404 document or indeed the page
requested will still have to be served, and will not automagically appear.

Try to check the header, livehttpheaders for Firfox or Fiddler for MSIE are
invaluable tools.

For instance, with you previous "HTTP/1/0 401 Unauthorised", the headers I
receive are:

HTTP/1.1 401 Unauthorized
Date: Fri, 27 Oct 2006 03:21:08 GMT
Server: Apache/2.2.2 (Win32) DAV/2 mod_ssl/2.2.2 OpenSSL/0.9.8b
mod_autoindex_color PHP/5.1.4
X-Powered-By: PHP/5.1.4
Content-Length: 24
Content-Type: text/html

But indeed, a blank page, because no error document is given.

In your accesscontrol you can either include your custom 401 document, or
serve the file after verification of the user.
--
Rik Wasmus
Oct 27 '06 #3
Rik
la***********@zipmail.com wrote:
If data is POSTed to a PHP page (say form_response.php) and the
request
is first intercepted by accesscontrol.php, if I determine that the
user
is logged in and then have a line

include($requested_file) (as I believe was in your example)

will the POSTed request still be in tact for processing by
form_response.php?

Well, I simple test could have told you that, but yes, it will be available
(contrary to redirects done with header('Location: etc..');, this
redirection is done internally in the webserver and will make the POST (and
COOKIE & FILES) available to the script).

Be sure though, that the file that is requested is indeed one of your
locally hosted trusted files.
--
Rik Wasmus
Oct 27 '06 #4
You have been so helpful. I must trouble you with one more question.
You had these lines in your accesscontrol.php file

$path = parse_url($_GET['file'],PHP_URL_PATH);
$file = dirname(__FILE__).'/'.$fake_url['path'];

But I'm getting the following errors ...

Notice: Use of undefined constant PHP_URL_PATH - assumed 'PHP_URL_PATH'
in /usr/local/apache2/htdocs/refillingstation/admin/accesscontrol.php
on line 14

Warning: parse_url() expects exactly 1 parameter, 2 given in
/usr/local/apache2/htdocs/refillingstation/admin/accesscontrol.php on
line 14

Notice: Undefined variable: fake_url in
/usr/local/apache2/htdocs/refillingstation/admin/accesscontrol.php on
line 15
What was the intent of what you were trying to do here?

Thanks, - Dave
Rik wrote:
la***********@zipmail.com wrote:
If data is POSTed to a PHP page (say form_response.php) and the
request
is first intercepted by accesscontrol.php, if I determine that the
user
is logged in and then have a line

include($requested_file) (as I believe was in your example)

will the POSTed request still be in tact for processing by
form_response.php?


Well, I simple test could have told you that, but yes, it will be available
(contrary to redirects done with header('Location: etc..');, this
redirection is done internally in the webserver and will make the POST (and
COOKIE & FILES) available to the script).

Be sure though, that the file that is requested is indeed one of your
locally hosted trusted files.
--
Rik Wasmus
Oct 27 '06 #5
Rik
la***********@zipmail.com wrote:
You have been so helpful. I must trouble you with one more question.
You had these lines in your accesscontrol.php file

$path = parse_url($_GET['file'],PHP_URL_PATH);
$file = dirname(__FILE__).'/'.$fake_url['path'];
Please fix you topposting.

Further:forget that, that was temporary insanity, because I expected a
query-string in $_GET['file']. That is offcourse already taken care of in
the .htaccesss, so $file = dirname(__FILE__).'/'.$_GET['file'] should
replace above lines.
--
Rik Wasmus
Oct 27 '06 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: Westcoast Sheri | last post by:
Hello. How do I do this: If a visitor types in any number after my url, I want mod_rewrite to convert it to my url/anotherpage.html?number=number_visitor_typed Example: ...
4
by: Support | last post by:
Hello, I am running RedHat & Apache. RedHat does not allow creating more that 32000 subdirectories in one folder due to #defined constant limitation in the core code. I need to display 47000...
1
by: Shabam | last post by:
In Apache there's a pretty powerful module called mod_rewrite. Is there anything like that in dot net?
11
by: joelbyrd | last post by:
I have a people-networking type site in which each user has their own profile page, with their user id encoded. So, for example, the web address of their page might look like...
4
by: Hermann.Richter | last post by:
I want to rewrite URLs like http://domain/dir/file.php?var1=val1&var2=val2#anchor to http://domain/dir/file?var1=val1&var2=val2#anchor In other words, I want to strip out the php extension ...
2
by: Susanne West | last post by:
hi group. i'm tackling a bigger project that will use mod_rewrite to patch a series of urls into a master php-script. this script builds the page framework that contains a series of elements...
3
by: Dr. No | last post by:
I am new to using mod_rewrite and am trying to rewrite a URL to pass values to my script so that: http://www.myclient.com/everything/animals/mammals/cats is transformed into ...
11
by: =?ISO-8859-1?Q?=22=C1lvaro_G=2E_Vicario=22?= | last post by:
With Apache's mod_rewrite module I can keep *.php files and load them as *.html files: # Make http//example.com/foo/bar.html load /home/site/foo/bar.php RewriteEngine On RewriteRule...
7
by: Dale | last post by:
again, i know this is OT...just move along to the next post if it bugs you. :) i had been trying to have this: project.66.204.32.110 from the client browser, map to a virtual host where the...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.