RewriteRule -.htaccesss出现内部服务器错误

时间:2015-02-18 14:53:30

标签: php regex apache .htaccess mod-rewrite

我正在尝试为以下场景编写RewriteRule

当我点击网址时: localhost / 示例

需要加载 example.php 文件,该文件位于子文件夹中(页面

文件夹结构:
     

     - pages
- example.php
- styles
- scripts
- index.php

我的.htaccess文件如下

RewriteEngine on
RewriteRule ^(.*)$ pages/$1.php

但我正在

  

500内部服务器错误

任何人都可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

您的重写规则可能正在循环播放。添加条件以防止这种情况发生:

RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/pages/$1.php -f
RewriteRule ^(.*)$ /pages/$1.php [L]

由于重写引擎循环直到URI停止更改,(.*)会匹配所有内容,包括/pages/whatever。因此,URI不断将/pages/附加到URI的前面。