>  기사  >  백엔드 개발  >  .htaccess 파일이 작동하지 않는 이유는 무엇입니까? 우후~

.htaccess 파일이 작동하지 않는 이유는 무엇입니까? 우후~

WBOY
WBOY원래의
2016-09-08 08:43:571205검색

各位大神早上好,我在使用.htaccess文件重写url的时候发现文件怎么也不起作用,下面是我的一些操作过程,请大神帮我看看哪里出了错。谢谢!

对httpd.conf做一下修改:
1.去掉"LoadModule Rewrite_module modules/mod_Rewrite.so"前的#
2.将"AllowOverride None"改为"AllowOverride All"
3.设置"AccessFileName .htaccess"

因为我学习的课本是《深入理解php:高级技巧、面向对象与核心技术》,所以使用的是其配套的代码,其网站url的形式是这样的:
.htaccess 파일이 작동하지 않는 이유는 무엇입니까? 우후~

课本提供的.htaccess文件代码如下:

<code><IfModule mod_rewrite.c>
RewriteEngine on
#下面的路径我做了适当修改
RewriteBase /                 
RewriteRule ^(about|contact|this|that|search)/?$ index.php?p=$1
</IfModule>
</code>

按照预想,其url应该变成下面的这种形式:
.htaccess 파일이 작동하지 않는 이유는 무엇입니까? 우후~

可是结果却没有任何变化,网上找了一些关于".htaccess无效"的帖子都没有解决我的问题,所以来这里请大神帮我指点迷津。

tip:
当我将.htaccess文件中的RewriteBase后面路径故意写错时,页面出现500错误,我认为这说明并非是.htaccess文件没有加载,而是里面的代码有问题

回复内容:

各位大神早上好,我在使用.htaccess文件重写url的时候发现文件怎么也不起作用,下面是我的一些操作过程,请大神帮我看看哪里出了错。谢谢!

对httpd.conf做一下修改:
1.去掉"LoadModule Rewrite_module modules/mod_Rewrite.so"前的#
2.将"AllowOverride None"改为"AllowOverride All"
3.设置"AccessFileName .htaccess"

因为我学习的课本是《深入理解php:高级技巧、面向对象与核心技术》,所以使用的是其配套的代码,其网站url的形式是这样的:
.htaccess 파일이 작동하지 않는 이유는 무엇입니까? 우후~

课本提供的.htaccess文件代码如下:

<code><IfModule mod_rewrite.c>
RewriteEngine on
#下面的路径我做了适当修改
RewriteBase /                 
RewriteRule ^(about|contact|this|that|search)/?$ index.php?p=$1
</IfModule>
</code>

按照预想,其url应该变成下面的这种形式:
.htaccess 파일이 작동하지 않는 이유는 무엇입니까? 우후~

可是结果却没有任何变化,网上找了一些关于".htaccess无效"的帖子都没有解决我的问题,所以来这里请大神帮我指点迷津。

tip:
当我将.htaccess文件中的RewriteBase后面路径故意写错时,页面出现500错误,我认为这说明并非是.htaccess文件没有加载,而是里面的代码有问题

??? 你理解反了吧. 这个重写规则是把 localhost/about[/]这种URL 变成 index.php?p=$1 这种URL, []里面的是可选的

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.