一个Apache服务器,本地主机上使用.htaccess文件(Use .htaccess file

2019-07-18 14:33发布

好吧,我有一个Apache服务器,本地主机并用PHP和MySQL运行。 现在,我希望能够使用.htaccess文件,以及使用RewriteRule ,但我不知所措我把它放在哪里。

我有以下目录:

C:\dev\progs地方阿帕奇PHP和MySQL存储,各自在自己的子目录,即。 C:\dev\progs\Apache等等...

C:\dev\www ,所有的网站文件存储。

我需要知道在哪里放置.htaccess文件,我需要什么样的配置做了,如果我为我的希望和梦想都白费了。

谢谢

Answer 1:

htaccess的是,应贮存在您的网页是一个配置文件。 总之,它应该是在c:\dev\www你的情况,但你应该阅读这太。 BTW不要忘记它驻留从线删除哈希开启了mod_rewrite

LoadModule rewrite_module modules/mod_rewrite.so

并启用了.htaccess通过改变

AllowOverride None

AllowOverride All


Answer 2:

在本地主机的Apache服务器启用了.htaccess

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


Answer 3:

你把.htaccess你想要的代码来控制web目录(和任何子目录)文件。 对于重写,它通常去的根目录,并在index.php页面的行为。

例如,如果你把.htaccess文件在\ dev的\ WWW \目录下,你.htaccess文件有类似RewriteRule ^(.*)$ /index.php?/$1 [L]这是一个正则表达式是说获得在URL中的所有字符,并把它们添加到/index.php? 脚本。 该/$1是一个正则表达式反向引用。



Answer 4:

试试这个。

<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>


文章来源: Use .htaccess file on an apache localhost server