Use .htaccess file on an apache localhost server

2020-02-22 23:57发布

Alright, I got an Apache localhost server up and running with PHP and MySql. Now I want to be able to use a .htaccess file as well to use RewriteRule, But I'm at a loss where to put it.

I have these directories:

C:\dev\progs where Apache PHP and MySQL are stored, each in their own sub-directories, ie. C:\dev\progs\Apache and so on...

C:\dev\www where all the site files are stored.

I need to know where to put the .htaccess file, what configuration I need to do, and if what I'm my hopes and dreams are all for nothing.

Thanks

4条回答
Juvenile、少年°
2楼-- · 2020-02-23 00:27

Try This.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /projectfolder/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /projectfolder/index.php [L]
</IfModule>
查看更多
在下西门庆
3楼-- · 2020-02-23 00:29

Enable .htaccess on apache servers in localhost

1) Find your apache directly which uses the php installation .
2) Open your httpd.conf  with notepad, Which is located in the path \apache\conf directory
3) Find the code like below       
      #LoadModule rewrite_module modules/mod_rewrite.so
4) Remove # from above code


# AllowOverride controls what directives may be placed in .htaccess files.
 # It can be "All", "None", or any combination of the keywords:
 #   Options FileInfo AuthConfig Limit
 #
 AllowOverride All   <--- make sure this is not set to "None"


5) Save httpd.conf file
6) Restart your apache server
查看更多
Root(大扎)
4楼-- · 2020-02-23 00:30

You place .htaccess file in the web directory you want the code to control (and any sub directories). For a Rewrite, it typically goes in the root dir and acts upon the index.php page.

For example, if you put the .htaccess file in \dev\www\ directory, and your .htaccess file has something like RewriteRule ^(.*)$ /index.php?/$1 [L] this is a regex that is saying get all the characters in the URL and append them to the /index.php? script. The /$1 is a back reference in regex.

查看更多
乱世女痞
5楼-- · 2020-02-23 00:34

.htaccess is a configuration file that should be stored where your page is. In short, it should be in c:\dev\www in Your case, but You should read this too. BTW don't forget to turn on mod_rewrite by deleting a hash from the line where it resides

LoadModule rewrite_module modules/mod_rewrite.so

and enable .htaccess by changing

AllowOverride None

to

AllowOverride All
查看更多
登录 后发表回答