Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a laptop running wampserver. Within the laptop I am able to browse by going to in my browser. I'm trying to visit these same pages on my mobile phone that is on the same wifi network, but when I go to on my mobile browser I get 403.

I checked the access logs and it's hitting apache, but for some reason it's shown as requesting from a different ip

Any idea what I've missed? Apache is already listening to port 80. I am using a Linksys ES4200 router for my LAN.



This is what I see in my access logs when I try accessing first from the host laptop itself, and then from 2 different devices. - - [13/Jan/2014:11:43:38 -0500] "GET / HTTP/1.1" 200 9277 - - [13/Jan/2014:12:28:30 -0500] "GET / HTTP/1.1" 403 223 - - [13/Jan/2014:12:37:47 -0500] "GET / HTTP/1.1" 403 223

I've confirmed that the last 2 ip addresses correspond to the devices I'm testing from.


# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /CENSORED/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /CENSORED/blog/index.php [L]

# END WordPress


ServerRoot "c:/wamp/bin/apache/apache2.4.2"

Listen 80

LoadModule access_compat_module modules/
LoadModule actions_module modules/
LoadModule alias_module modules/
LoadModule allowmethods_module modules/
LoadModule asis_module modules/
LoadModule auth_basic_module modules/
LoadModule authn_core_module modules/
LoadModule authn_file_module modules/
LoadModule authz_core_module modules/
LoadModule authz_groupfile_module modules/
LoadModule authz_host_module modules/
LoadModule authz_user_module modules/
LoadModule autoindex_module modules/
LoadModule cgi_module modules/
LoadModule dir_module modules/
LoadModule env_module modules/
LoadModule include_module modules/
LoadModule isapi_module modules/
LoadModule log_config_module modules/
LoadModule mime_module modules/
LoadModule negotiation_module modules/
LoadModule rewrite_module modules/
LoadModule setenvif_module modules/
LoadModule php5_module "c:/wamp/bin/php/php5.4.3/php5apache2_4.dll"

<IfModule unixd_module>
  User daemon
  Group daemon

ServerAdmin  admin@localhost
ServerName localhost:80

<Directory />
    AllowOverride none
    Require all denied

DocumentRoot "d:/NetBeans Projects/"
<Directory "d:/NetBeans Projects/">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require local

<IfModule dir_module>
    DirectoryIndex index.php index.php3 index.html index.htm

<Files ".ht*">
    Require all denied

ErrorLog "c:/wamp/logs/apache_error.log"

LogLevel warn

<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common

    <IfModule logio_module>
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio

    CustomLog "c:/wamp/logs/access.log" common

<IfModule alias_module>
    ScriptAlias /cgi-bin/ "cgi-bin/"

<IfModule cgid_module>

<Directory "cgi-bin">
    AllowOverride None
    Options None
    Require all granted

<IfModule mime_module>
    TypesConfig conf/mime.types

    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php .php3

<IfModule proxy_html_module>
  Include conf/extra/proxy-html.conf

<IfModule ssl_module>
  SSLRandomSeed startup builtin
  SSLRandomSeed connect builtin

Include "c:/wamp/alias/*"
share|improve this question
I would suggest checking it from another computer on the network, if you find the same issue please paste your .htaccess file and the httpd.conf somewhere and put up the links here. – Gaurav Joseph Jan 10 '14 at 6:12
Gaurav, what's a good place to paste logs? – Anson Kao Jan 13 '14 at 18:00
up vote 2 down vote accepted

Are you sure its showing as requesting FROM rather then the machine making the request is ?

A 403 error implies the page is being reached but the server is configured not to allow viewing of the resource from the requesting system.

Updated Answer:

I don't know where your Wordpress config is, but this draws attention:

DocumentRoot "d:/NetBeans Projects/"
<Directory "d:/NetBeans Projects/">
    Options Indexes FollowSymLinks
    AllowOverride All
    **Require local**

Require local implies it will only match against IP's associated with the server. If Wordpress is being fed from a subdirectory of this then that would explain your problem.

If thats not it, look for something similar in the config files in "c:/wamp/alias/*"

share|improve this answer
You were right, is the ip-address of my requesting phone. I tried with another device, same result. I guess the culprit must be somewhere in my apache config, I've updated the qeustion above – Anson Kao Jan 13 '14 at 17:48
The problem could well exist in your apache config - but if so, it does not exist in the code snipped you posted. It is, however, also possible that Wordpress is returning this error - this would probably only be the case if you have an additional security plugin though. (Looking a the source code there is provision for WP to provide back a 403 error in some cases). What is the exact text associated with the error on the client side ? This could help track down whats causing it, as it can provide clues ? – davidgo Jan 13 '14 at 18:13
Added the httpd.conf file. It's the generic Apache 403 page, not a WP 403 page. – Anson Kao Jan 13 '14 at 18:19
See expanded answer. – davidgo Jan 13 '14 at 22:25

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.