`
xombat
  • 浏览: 163492 次
  • 性别: Icon_minigender_1
  • 来自: 乌托邦
社区版块
存档分类
最新评论

在.htaccess中配置rewrite后出现500错误的问题

阅读更多

之前在.htaccess中配置了rewrite后,总是会出现服务器500错误,检查过原因:

1.不是httpd.conf中没有loadModule mod_rewrite

2.也不是Directory 指令AllowOverride None的问题

3.更不是我写的.htaccess中语法的问题

 

我的.htacess是这样写的,

写道
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /rewrite
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
 

 

/rewrite/webroot这个目录已经存在了,但仍出错,查看apache error log是这样:

写道
[Fri Oct 31 10:23:01 2008] [error] [client 127.0.0.1] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
[Fri Oct 31 10:23:01 2008] [debug] core.c(3046): [client 127.0.0.1] r->uri = /rewrite/webroot/webroot/webroot/webroot/webroot/webroot/webroot/webroot/webroot/webroot/index.html
[Fri Oct 31 10:23:01 2008] [debug] core.c(3052): [client 127.0.0.1] redirected from r->uri = /rewrite/webroot/webroot/webroot/webroot/webroot/webroot/webroot/webroot/webroot/index.html
[Fri Oct 31 10:23:01 2008] [debug] core.c(3052): [client 127.0.0.1] redirected from r->uri = /rewrite/webroot/webroot/webroot/webroot/webroot/webroot/webroot/webroot/index.html
[Fri Oct 31 10:23:01 2008] [debug] core.c(3052): [client 127.0.0.1] redirected from r->uri = /rewrite/webroot/webroot/webroot/webroot/webroot/webroot/webroot/index.html
[Fri Oct 31 10:23:01 2008] [debug] core.c(3052): [client 127.0.0.1] redirected from r->uri = /rewrite/webroot/webroot/webroot/webroot/webroot/webroot/index.html
[Fri Oct 31 10:23:01 2008] [debug] core.c(3052): [client 127.0.0.1] redirected from r->uri = /rewrite/webroot/webroot/webroot/webroot/webroot/index.html
[Fri Oct 31 10:23:01 2008] [debug] core.c(3052): [client 127.0.0.1] redirected from r->uri = /rewrite/webroot/webroot/webroot/webroot/index.html
[Fri Oct 31 10:23:01 2008] [debug] core.c(3052): [client 127.0.0.1] redirected from r->uri = /rewrite/webroot/webroot/webroot/index.html
[Fri Oct 31 10:23:01 2008] [debug] core.c(3052): [client 127.0.0.1] redirected from r->uri = /rewrite/webroot/webroot/index.html
[Fri Oct 31 10:23:01 2008] [debug] core.c(3052): [client 127.0.0.1] redirected from r->uri = /rewrite/webroot/index.html
[Fri Oct 31 10:23:01 2008] [debug] core.c(3052): [client 127.0.0.1] redirected from r->uri = /rewrite/index.html
 

后来我试了试在/rewrite/webroot中也写一个.htaccess文件:

写道
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /rewrite/webroot
</IfModule>

 然后居然能访问成功了,难道还需要在rewrite的各个子目录中也添加.htaccess?

虽然现在我要的功能实现了,可是还是有点迷惑,不知谁可帮我解解惑。

分享到:
评论
1 楼 xombat 2008-10-31  
另外,如果我用url直接访问/rewrite/webroot/index.html也可以成功访问,这样有暴露文件路径的危险,我如何配置才能让用户直接访问/rewrite/webroot/时失败,而只能通过/rewrite访问呢?

相关推荐

    isapi_rewrite3_full.htaccess

    标题 "isapi_rewrite3_full.htaccess" 暗示了我们正在讨论的是一个与IIS(Internet Information Services)服务器相关的配置文件,特别是关于ISAPI_Rewrite模块的使用,它是一个能够实现URL重写和URL伪装功能的工具...

    htaccess_Editor HTACCESS编辑器

    1. **实时预览**:编辑过程中可以即时查看修改后的效果,避免因语法错误导致的网站故障。 2. **代码模板**:提供常见功能的代码模板,一键插入,省去了查找和编写代码的麻烦。 3. **错误检查**:在输入代码时进行...

    IIS 7及IIS 7.5下面.htaccess转为web.config的方法.docx

    `.htaccess`文件是Apache服务器中用于设置特定目录下URL重写、访问权限、错误页面等配置的文件,而`.web.config`是IIS服务器用来实现相同功能的文件。在IIS环境中,要实现与`.htaccess`类似的功能,需要使用微软的...

    APACHE支持.htaccess伪静重写出错 No input file specified的解决方案

    在本文中,我们将深入探讨一个常见的问题,即在使用`.htaccess`进行伪静态重写时遇到"No input file specified"错误的解决方法。 首先,这个错误通常发生在Apache服务器使用FastCGI模式运行PHP时。FastCGI是一种...

    Apache服务器中.htaccess文件的实用配置示例集锦

    在本文中,我们将深入探讨一些实用的`.htaccess`配置示例。 1. **强制添加URL末尾的反斜杠** 这个配置可以确保URL末尾总是带有反斜杠,这有助于搜索引擎优化(SEO)。通过使用`mod_rewrite`模块,我们可以实现这个...

    htaccess 文件 在文件上传中的使用1

    .htaccess 文件在文件上传中的使用 .htaccess 文件是一种 Apache 服务器下的配置文件,可以设置服务器解析文件的格式。通过在特定的文档目录中放置一个包含一个或多个指令的文件,以作用于当前目录及其所有子目录。...

    利用.htaccess的Rewrite规则实现Discuz论坛的伪静态链接

    `.htaccess`文件是Apache服务器配置中的一个分布式配置文件,允许在每个目录级别自定义服务器行为。 在上述描述中,用户提到在重新开放Minidx帮助论坛后,希望通过开启Discuz! 的“URL Rewrite”功能来实现伪静态...

    laravel5.0在linux下解决.htaccess无效和去除index.php的问题

    总之,解决Laravel5.0在Linux下`.htaccess`无效和去除`index.php`的问题,需要正确配置Apache服务器的`mod_rewrite`模块和`AllowOverride`选项,并在`.htaccess`文件中添加`RewriteBase /`。这将确保URL的美观性和...

    CentOS下.htaccess不起作用的解决方法

    在描述中提到的问题,当用户尝试在WordPress中开启静态URL链接并编辑`.htaccess`文件后,遭遇404 Not Found错误,这意味着Apache服务器没有正确读取或应用`.htaccess`中的规则。要解决这个问题,首先要确认Apache的`...

    使Nginx服务器支持.htaccess的方法

    `.htaccess`文件在Apache中主要用于控制权限、URL重写和其他服务器配置,对于那些习惯于使用Apache的开发者来说,这是一个非常实用的工具。 在Nginx中,我们不能直接将`.htaccess`文件放置在网站的各个目录下,因为...

    Ubuntu下开启Apache对.htaccess 的支持

    以上步骤,详细地展示了如何在Ubuntu系统中配置Apache服务器以支持.htaccess文件,同时给出了XAMPP环境中开启Mod Rewrite功能的相应步骤。对于希望在Linux环境下开发和部署Web应用的用户来说,这些知识非常实用,...

    妙用.htaccess隐藏网页文件扩展名

    如果遇到HTTP 500错误,通常是因为重写规则配置不当或服务器权限问题,需要仔细检查并调试代码。 总的来说,隐藏网页文件扩展名是一种提高用户体验和网站美观性的方法,通过`.htaccess`和URL重写,我们可以轻松实现...

    基于PHP的htaccess Editor htaccess在线生成器收藏版.zip

    - 定期备份:在修改.htaccess前,做好现有文件的备份,以防出现不可逆的错误。 - 分步测试:每次修改后,先在开发环境中测试,确认无误后再应用到生产环境。 - 文档学习:深入理解.htaccess的规则和指令,有助于...

    .htaccess文件写法之作用范围

    `.htaccess` 文件是 Apache 服务器配置中的一个非常重要的组件,它允许你在网站的根目录或子目录下进行局部的配置调整,而无需修改全局的服务器配置文件。`.htaccess` 文件主要用于重写 URL、设置访问权限、指定错误...

    修改.htaccess实现301域名重定向示例分享

    在网站管理及SEO优化过程中,有时需要进行域名重定向操作,特别是当旧域名不再使用或希望将流量导向新域名时,通过设置301重定向可以有效地传递原有网页的权重值至新网址,从而避免因URL更改导致的搜索引擎排名下降...

    教你如何在CI框架中使用 .htaccess 隐藏url中index.php

    你可以通过查看`httpd.conf`文件或使用`a2enmod rewrite`命令(在基于Debian的系统中)来检查和启用它。如果使用的是IIS,你需要安装ISAPI_Rewrite扩展。 2. **创建`.htaccess`文件**: 创建一个名为`.htaccess`的...

    htaccess Rewrite中文编码问题解决方法

    本文将详细探讨如何解决在Apache服务器上使用.htaccess文件配置Rewrite规则时遇到的中文编码问题。 #### 二、问题背景 .htaccess文件是Apache服务器中用于配置重写规则的关键文件之一。它允许开发者通过设置不同的...

    Rewrite伪静态组件

    - 配置Rewrite时,避免产生循环重定向(Redirect Loop),这可能导致服务器错误。 - 考虑到SEO,避免过多的重写规则,保持URL结构简洁。 - 如果在同一服务器上运行多个站点,要确保每个站点的Rewrite规则不会互相...

    让Apache 2支持.htaccess并实现目录加密的方法

    Apache 2支持`.htaccess`文件以及实现目录加密是一个实用的功能,这可以帮助你保护网站的特定部分,确保只有授权用户才能...希望这个指南对你的工作有所帮助,如果你在实施过程中有任何问题,可以在讨论区留言交流。

Global site tag (gtag.js) - Google Analytics