Snipe-IT really wants to be run as a subdomain or on its own domain name. If you wish to run Snipe-IT in a subdirectory ( instead of at a primary domain ( or a sub-domain (, you'll need to go through the standard install steps 1-5, and then make a few small changes to your server configuration and .htaccess file.

Add an Alias Directive

In a standard Apache virtualhost setup, you'll need to add an Alias attribute to the virtualhost in your httpd.conf. That might look something like this, if your path to the Snipe-IT files were /var/www/html/snipe-it/public:

<VirtualHost *:80>

    Alias /snipe-it "/var/www/html/snipe-it/public"

	<Directory /var/www/html/snipe-it/public>
		Allow From All
		AllowOverride All
		Options +Indexes

	DocumentRoot /var/www/html/snipe-it/public
	# Other directives here

(Make sure to restart the webserver after making configuration changes to the Apache configs.)

Modify Your .htaccess

You'll need to add one line to your snipe-it/public/.htaccess file to make this work. Immediately beneath the RewriteEngine On, add the option RewriteBase /snipe-it, once again assuming that your subdirectory URL is

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews

    RewriteEngine On
    RewriteBase /snipe-it

    # Uncomment these two lines to force SSL redirect
    # RewriteCond %{HTTPS} off
	  # RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]