Apache URL重写/Regex调试
我需要一双新的眼睛来观察这件事。我很难发现这个问题 在文件夹X中,我有一个.htaccess文件,其中有以下两行: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
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,希望能在文档中找到一些东西。事实上,这比我认为的更安全:)