.htaccess doesnot read by apache - apache

My .htaccess file contains garbages value like
'dfdfsdfdsfdfdf'
Another file httpd.conf(/etc/apache2/httpd.conf) contains nothing
I expect at least .htaccess file to execute and display page as
internal server error
I also changed my code and change both file(.htaccess and httpd.conf) but the page index.php is displaying as if there is no both files(.htaccess and httpd.conf).
What is the cause?

httpd.conf should contain AllowOverride All for document root directory.
DocumentRoot "D:/Projects/Example/htdocs"
<Directory "D:/Projects/Example/htdocs">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Otherwise, usage of .htaccess files is disabled.

I made it to work by modifying /etc/apache2/sites-available/default
AllowOverride All on
Directory /var/www/ And Directory /

Related

htaccess to disable directory browsing in Apache/2.4.10 (Debian) doesn't work

I create a .htaccess file with this content: (in the folder of the site)
#Disable directory indexes
Options -Indexes
But I still see the directories in the browser.
And in apache2.conf I rewrite this:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
What did I do wrong?
If that didn't work and you got no error then it looks like .htaccess files are not enabled on your server. You'll need something like AllowOverride All in the server config that controls this area of the filesystem.
At the very least you would need the following to permit just that one directive.
AllowOverride Options=Indexes

Apache : Directory index forbidden by Options directive:/srv/www/htdocs/testFolder

Saw duplicate questions and solutions, does not seem to solve the below problem
I am trying to allow access to a folder through apache, and the /var/log/apache2/ throws the above error.
My httpd.conf is
# forbid access to the entire filesystem by default
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
I tried with Options +Indexes, Options All which doesnt seem to work. Tried to change permissions of the folder too. Added a dummy index.html in the folder as well
The folder is located at /srv/www/htdocs/testFolder.
Any ideas?
had to add files explicitly the files in the conf file
<Directory /srv/www/htdocs/HDP-UTILS-1.1.0.20>
Options +Indexes
</Directory>
<Directory /srv/www/htdocs/HDP>
Options +Indexes
</Directory>
I resolved a similar where Apache was throwing 403 error while trying to access the index.html file the issue was resolved by creating a index.hmtl in /srv/www/htdocs directory.
url: http://localhost:80/
The Suse Apache didn't create a index.html file by default don't know why.
Change your config to
Options -Indexes FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
After that create an .htaccess file in your folder and add
Options +Indexes
to it. You probably need to reload your apache.

Which is the correct path for AllowOverride All?

My drupal uploaded to this location /var/www/drupal
If I want to add the AllowOverride All in apache2.conf
Which is the correct path?
<Directory /var/www/drupal>
AllowOverride All
</Directory>
or
<Directory /var/www/>
AllowOverride All
</Directory>
I assume that /var/www/drupal is the directory where you copied all the Drupal files. In that case, bot the paths are correct. There is just a difference: If you have more than one Drupal installations, for example in /var/www/drupal2 and /var/www/drupal3, then I would use the first directive you shows instead of repeating the same directive for all the directories where Drupal has been installed.
As long as the AllowOverride All directive is applied to the Drupal root directory or its parent, there is no practical difference between those directive. The only difference could be if somebody is able to write an .htaccess file in /var/www without your direct control, and you don't want anything bad happening because it.

Laravel 4 - Options not allowed here in the .htaccess

I have installed Laravel 4 on my public_html folder locally, and I can access its public folder when declaring a vhost pointing to it, through the vhost url.
But, when I try to access Laravel public folder through its parent folders, I get an error in apache logs (error_log): $LARAVEL_HOME/public/.htaccess: Options not allowed here. Even if there is a AllowOverride All in $VHOST_CONF/site.
The first line in the .htaccess (Options Multiviews), is causing this error when I delete it, or put it in $VHOST_CONF/site, it works.
So, How do I do to I access through the hierarchy, without modifying the .htaccess file?
In the Apache configuration file for the website set AllowOverride to AllowOverride All similar to the following:
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
# changed from None to All
AllowOverride All
Order allow,deny
allow from all
</Directory>

Apache loads any file that begins with the same string as used in url. How to prevent this?

If I point to:
mywebsite.com/search
and there is a file called search.php or search.html or search.inc.php or search.whatthehell.php in website's directory, Apache will point to that file instead of 404'ing.
What is even more annoying is that if I point to:
mywebsite.com/search/string?also=whatever
Apache will still display any file with filename that begins with "search.".
Also, all RewriteRules with patterns containing filenames existing in directory are ignored/useless.
I'm using Apache 2 on Mac, unmodified httpd.conf. How do I prevent it from redirecting my urls so freely?
You will have to disable MultiViews option using Options directive. This is a feature of the apache content negotiation module, so if you don't use mod_negotiation you can just unload it.
http://httpd.apache.org/docs/2.0/content-negotiation.html
Example of how to disable MultiViews for the /var/www directory:
<Directory /var/www/>
Options Indexes FollowSymLinks -MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
http://httpd.apache.org/docs/2.0/mod/mod_negotiation.html#multiviews