Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.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
Php 有人能澄清根相对URL和htaccess的问题吗_Php_Html_.htaccess - Fatal编程技术网

Php 有人能澄清根相对URL和htaccess的问题吗

Php 有人能澄清根相对URL和htaccess的问题吗,php,html,.htaccess,Php,Html,.htaccess,我正在使用htaccess引擎重写我的一些URL,但我遇到了这个我真的不理解的问题 在htaccess中使用以下规则 RewriteRule^category/(\d+)$category.php?category=$1[NC,L] 我将HTML中的相对路径设置为,如果我从另一个页面转到此链接,则可以正常工作。虽然如果我从同一页面打开链接,结果URL会变成http://localhost/CMS/category/category/1这是无效的。有人建议我应该使用所谓的“根相对URL”,这需要将

我正在使用htaccess引擎重写我的一些URL,但我遇到了这个我真的不理解的问题

在htaccess中使用以下规则

RewriteRule^category/(\d+)$category.php?category=$1[NC,L]

我将HTML中的相对路径设置为
,如果我从另一个页面转到此链接,则可以正常工作。虽然如果我从同一页面打开链接,结果URL会变成
http://localhost/CMS/category/category/1
这是无效的。有人建议我应该使用所谓的“根相对URL”,这需要将路径更改为
,从而解决问题。我试图理解为什么
在使用htaccess之前不使用根相对URL并添加
/cms/
,这是否意味着我必须更改代码中的每个URL并添加根相对URL?这就是htaccess引擎处理路径的方式吗


谢谢。

您的链接是相对于当前位置的。因此,如果您位于/cat/meow.html,并且跟随一个指向“dog/woof.html”的链接,您的浏览器将带您到/cat/dog/woof.html。您的链接都应该是绝对的(完整URL)或相对于根的(以斜杠开头),因此“/dog/woof.html”总是带您到[webroot]dog/woof.htmlI see;有没有一种方法可以在htaccess中使用regex添加/CMS/这样我就不必回去更改路径。
标记或`/`结束完整url并将
[NC,L]
更改为
[L,NC]
不要认为还有其他方法。这可能适用于您的基本url重写规则^/base标记工作正常,谢谢您,您的链接是相对于当前位置的。因此,如果您位于/cat/meow.html,并且跟随一个指向“dog/woof.html”的链接,您的浏览器将带您到/cat/dog/woof.html。您的链接都应该是绝对的(完整URL)或相对于根的(以斜杠开头),因此“/dog/woof.html”总是带您到[webroot]dog/woof.htmlI see;有没有办法在htaccess中使用regex添加/CMS/这样我就不必回去更改路径了。
标记或`/`结束您的完整url并将
[NC,L]
更改为
[L,NC]
不要认为还有其他方法。这可能对您的基本url重写有效规则^/base标记工作正常谢谢您,先生