我正在尝试为以下场景编写RewriteRule
当我点击网址时: localhost / 示例
需要加载 example.php 文件,该文件位于子文件夹中(页面)
文件夹结构:
- pages
- example.php
- styles
- scripts
- index.php
我的.htaccess文件如下
RewriteEngine on
RewriteRule ^(.*)$ pages/$1.php
但我正在
500内部服务器错误
任何人都可以帮我解决这个问题。
答案 0 :(得分:1)
您的重写规则可能正在循环播放。添加条件以防止这种情况发生:
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/pages/$1.php -f
RewriteRule ^(.*)$ /pages/$1.php [L]
由于重写引擎循环直到URI停止更改,(.*)
会匹配所有内容,包括/pages/whatever
。因此,URI不断将/pages/
附加到URI的前面。