【发布时间】:2016-12-21 12:27:29
【问题描述】:
我需要使用 .htaccess 文件在子文件夹中执行重写。当前 url 的格式如下:
domain.com/subfolder/chapter.php?urlkey=name
需要改写为:
domain.com/subfolder/chapter/name
在子文件夹中,我有一个带有以下代码的 .htaccess 文件:
<IfModule mod_rewrite.c>
Options -Indexes
RewriteEngine On
RewriteBase /subfolder/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^chapter/([a-z0-9]+)/?$ chapter.php?urlkey=$1 [L,NC,QSA]
</IfModule>
Modrewrite 已启用,但由于某种原因,当我转到 url 时
domain.com/subfolder/chapter/name
它返回以下错误:
Notice: Undefined index: urlkey
【问题讨论】:
-
父文件夹中是否有包含 /subfolder/ 的 htaccess 文件?
-
我的父文件夹中没有 htaccess 文件。
-
您能发布完整的通知错误吗?它应该有一个文件和行号。如果是这样,请发布该文件:)
-
完整错误是通知:未定义索引:第 4 行 /sites/domain.com/www/subfolder/chapter.php 中的 urlkey,这是 php 尝试使用 urlkey 接收章节对象的地方.
-
你能把
LogLevel debug rewrite:trace3放到你的 apache 配置文件中(不是 .htaccess ),重启 Apache 然后发布相关的日志条目吗?
标签: regex apache .htaccess redirect mod-rewrite