各位大神早上好,我在使用.htaccess文件重写url的时候发现文件怎么也不起作用,下面是我的一些操作过程,请大神帮我看看哪里出了错。谢谢!
对httpd.conf做一下修改:
1.去掉"LoadModule Rewrite_module modules/mod_Rewrite.so"前的#
2.将"AllowOverride None"改为"AllowOverride All"
3.设置"AccessFileName .htaccess"
因为我学习的课本是《深入理解php:高级技巧、面向对象与核心技术》,所以使用的是其配套的代码,其网站url的形式是这样的:
课本提供的.htaccess文件代码如下:
<code><IfModule mod_rewrite.c> RewriteEngine on #下面的路径我做了适当修改 RewriteBase / RewriteRule ^(about|contact|this|that|search)/?$ index.php?p=$1 </IfModule> </code>
按照预想,其url应该变成下面的这种形式:
可是结果却没有任何变化,网上找了一些关于".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文件代码如下:
<code><IfModule mod_rewrite.c> RewriteEngine on #下面的路径我做了适当修改 RewriteBase / RewriteRule ^(about|contact|this|that|search)/?$ index.php?p=$1 </IfModule> </code>
按照预想,其url应该变成下面的这种形式:
可是结果却没有任何变化,网上找了一些关于".htaccess无效"的帖子都没有解决我的问题,所以来这里请大神帮我指点迷津。
tip:
当我将.htaccess文件中的RewriteBase后面路径故意写错时,页面出现500错误,我认为这说明并非是.htaccess文件没有加载,而是里面的代码有问题
??? 你理解反了吧. 这个重写规则是把 localhost/about[/]
这种URL 变成 index.php?p=$1
这种URL, []
里面的是可选的