Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache URL重写/Regex调试_Apache_.htaccess_Mod Rewrite_Url Rewriting - Fatal编程技术网

Apache URL重写/Regex调试

Apache URL重写/Regex调试,apache,.htaccess,mod-rewrite,url-rewriting,Apache,.htaccess,Mod Rewrite,Url Rewriting,我需要一双新的眼睛来观察这件事。我很难发现这个问题 在文件夹X中,我有一个.htaccess文件,其中有以下两行: RewriteEngine on RewriteRule ^([A-Za-z0-9\.-]+)/?$ item-display.php?bibid=$1 [NC,L] 我的解释是,该目录中的任何内容都将被重定向到项目显示页面。问题在于,在项目显示页面上,回显bibid输出“显示项目”的值。因此,不知何故,我从以下位置重新定向: 致: 有什么想法吗 干杯,试试这个 RewriteE

我需要一双新的眼睛来观察这件事。我很难发现这个问题

在文件夹X中,我有一个.htaccess文件,其中有以下两行:

RewriteEngine on
RewriteRule ^([A-Za-z0-9\.-]+)/?$ item-display.php?bibid=$1 [NC,L]
我的解释是,该目录中的任何内容都将被重定向到项目显示页面。问题在于,在项目显示页面上,回显bibid输出“显示项目”的值。因此,不知何故,我从以下位置重新定向: 致:

有什么想法吗

干杯,试试这个

RewriteEngine on
RewritePath /test/cat/item
RewriteRule ^([A-Za-z0-9\.-]+)/?$ item-display.php?bibid=$1 [L]

我认为问题在于,它查看的是整个URL,而不仅仅是最后一个项目ID部分。

请求是子处理的,因此我认为它提取了重写URL的文件名部分。尝试添加NS标志。

您必须排除要重定向到的文件,因为该文件也与模式匹配:

RewriteCond %{REQUEST_URI} !/item-display\.php$
RewriteRule ^([A-Za-z0-9\.-]+)/?$ item-display.php?bibid=$1 [L]

我想你是在找RewriteBase…不过它似乎并没有改变结果。转到右侧页面,然后认为bibid设置为“显示项”。我正在深入阅读RewriteBase,希望能在文档中找到一些东西。事实上,这比我认为的更安全:)