How to enable directory and file listing in XAMPP ? In WAMP it is by default enabled.
My Xampp httpd.conf already had the Indexes option under the xampp directory entry
Removing all the default #comment lines, it looks like this:
<Directory "C:/xampp/htdocs">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
But, I have my local root mapped to a different directory, outside of 'htdocs', (as per this post Make XAMPP/Apache serve file outside of htdocs ) so to enable this for all directories, I had to find the entry just above that, and add the word "Indexes" to it.
<Directory />
Options FollowSymLinks Indexes
AllowOverride None
Order deny,allow
Deny from all
</Directory>
Note I would never enable this for all directories on a production server, but locally it is quite useful.
Just delete or rename index.html and index.php files
There is a XAMPP Directory Browsing UI app, that will help you to browse projects inside htdocs in XAMPP.
Open apache/conf/httpd.conf and search for Indexes in httpd.conf
And comment complete line like this:
#Options Indexes FollowSymLinks Includes ExecCGI
#Options - Indexes FollowSymLinks Includes ExecCGI
Uncommenting First will enable the indexing of directories.
Uncommenting Second will disable indexing of directories
Removing the comment will enable the Directory/file listing of hosted path.
Rename the 'index.php' file that sits in your htdocs folder to something like 'MODIFIED_index.php' (if you want to be able to revert to it later) - this index.php file is only used to point to xampp's admin controls that are found in 'localhost/xampp/' anyway.
Related
I'm working on a server which has to serve a few files publically via WebDav. The public availability and WebDav is a must have, so I can't just change them. Windows support (sadly) is another must thing...
It would be great if I could disable directory listing, so the person who I give the webdav link would only be able to either guess the link or use only the one I gave.
In default case it's quite easy to disable directory listing, and in the browser the current configuration perfectly stops dir listing, but when I open it via windows explorer, I can easily see the whole directory and its content. My current config is:
<VirtualHost *>
ServerAdmin webmaster#localhost
DocumentRoot /var/www/web1/web/
<Directory /var/www/web1/web/>
Options MultiViews
AllowOverride None
Order allow,deny
allow from all
<LimitExcept GET PROPFIND>
Require valid-user
</LimitExcept>
</Directory>
Alias /v1 /var/www/web1/web
<Location /v1>
DAV On
AuthName "webdav"
</Location>
</VirtualHost>
If I wont allow PROPFIND method, windows thinks that the host is unavailable (unsure if linux can access it, that's not my target).
Is it possible to stop directory listing on windows? For me it seems the PROPFIND is what causes this, but I'm unsure if I can somehow bypass this problem. Do you have any idea how should I modify my config file?
I know this question is old, but in your VirtualHost file (the file in /etc/apache2/sites-available/[yoursite].conf), you need to add something. This is in your directory tag. Supply it with DirectoryIndex disabled. Like this
<Directory [yourdirectory]>
(...)
DirectoryIndex disabled
</Directory>
Sincerly, Chris Fowl
I have set up apache2 on my Win7 box and would like to be able to see the contents of a directory.
For example, I would like to navigate to:
http://localhost/tutorial/
and see a list the different html, js, and css files I have created. I've already redirected Apache to check the C:\ApacheHtDoc\ folder as the source directory. I've tried looking at folder permissions, but I'm not sure how to see the contents of the C:\ApacheHtDoc\ directory and the subfolders I'm bound to create.
Have you added the directive in Apache2.2\conf\httpd.conf
<Directory "C:\ApacheHtDoc\">
Options Indexes FollowSymLinks
Order Allow,Deny
Allow from All
</Directory>
If you haven't, add that and restart apache.
Edit
Path for the httpd.conf may vary according to your install.
I am using mac with osx lion
I set up alias for my apache using the following setting:
Alias /phpMyAdmin/ "/Users/jason/Sites/phpMyAdmin/"
<Directory "/Users/jason/Sites/phpMyAdmin">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Alias /Lab8/ "/Users/jason/Sites/Lab8/"
<Directory "/Users/jason/Sites/Lab8">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
My Lab8 directory and phpMyAdmin Directory are placed in the same place (/Users/jason/Sites)
I can access the phpMyAdmin though localhost/phpMyAdmin/
But when I want to access the Lab8 directory though localhost/Lab8/
It give the following message:
Forbidden
You don't have permission to access /Lab8/ on this server.
I don't know what wrong with my setting.
I cannot access my Lab8 directory though localhost/Lab8
even I set permission 777 for the Lab8 directory and all files under it.
Could it be that you have directory listing off, and there is no index.php/index.html file in the Lab8 directory?
I'm trying to get mod_rewrite to work on OSX Lion.
By default, Lion loads the mod_rewrite module.
In my /etc/apache2/users/neil.conf I include the following:
<Directory "/Users/neil/Sites/">
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
But whenever I visit a page locally, I get the message: The requested URL /some-page/ was not found on this server.
Can you access the page if you visit domain.com/index.php/some-page instead of domain.com/some-page?
If so, this could be an htaccess issue. Consider checking out EE's documentation on using an htaccess file to remove index.php from the URLs
I have a localhost setup(i use apache's virtualhost setup) for a site I am working on with codeigniter. I use SVN for the site.
I decided to change the localhost-domain name and the root-folder name(this is the folder from within which I check out SVN) to which the localhost-domain points.
To show a better picture, I changed;
sledge-vicky.localhost to hammer-vicky.localhost
Changed the document-root's name from "sledge" to "hammer". Have changed the document root,directory paths in the virtualhost setup too;
<VirtualHost hammer-vicky.localhost>
DocumentRoot D:\xampp\htdocs\vicky\projects\hammer
ServerName hammer-vicky.localhost
<Directory "D:\xampp\htdocs\vicky\projects\hammer">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Have set the domain-name in windows' hosts file. Have set/changed the base-url and database settings in config.php and database.php too(I use environment dir; _environment/vicky/config.php, _environment/vicky/database.php ).
In the code where we switch to the required app-environment, I have set the code to switch to my app-environment too.
http://sledge-vicky.localhost/ was working fine.
After the local-domain name and root-folder name change, accessing http://hammer-vicky.localhost/ throws a '404 page not found error'.
Any idea what could be wrong?.
My bad debugging. I got it working. I had to change other settings in some files specific to my environment (in my case, /application/config/_environment/...) that were related to some global settings(which in my case, others sharing the same svn-repository had changed).