2013-01-23 91 views
8

好的,我得到了一个Apache本地主机服务器并运行了PHP和MySql。现在我想能够使用.htaccess文件以及使用RewriteRule,但我不知道该放在哪里。在apache本地主机服务器上使用.htaccess文件

我有以下目录:

C:\dev\progs其中的Apache PHP和MySQL存储,各自在自己的子目录,即。 C:\dev\progs\Apache等等......

C:\dev\www其中存储了所有站点文件。

我需要知道在哪里放.htaccess文件,我需要做什么配置,以及如果我是我的希望和梦想都没有用。

感谢

+0

我以为'.htaccess'配置不应该使用,如果你有权访问服务器配置文件,在这种情况下,你这样做。 – SeinopSys

+0

是的,我也听到了一些关于它的信息,我只是觉得配置文件有点混乱。我还可以在'.htaccess'文件中找到更多的教程。 – KFox

回答

10

的.htaccess是一个应该被存储在您的网页是一个配置文件。总之,应该在c:\dev\www你的情况下,但你也应该读this。顺便说一句,不要忘记从线删除哈希开启mod_rewrite的它驻留

LoadModule rewrite_module modules/mod_rewrite.so 

,并通过改变

AllowOverride None 

AllowOverride All 
1

你把.htaccess启用了.htaccess文件在您想要代码控制的Web目录中(以及任何子目录)。对于重写,它通常进入根目录并作用于index.php页面。

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

12

在本地主机启用的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 
+1

更清晰的答案,谢谢! –

0

尝试。

<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> 
相关问题