Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.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 htaccess重写规则请求URI问题_Php_.htaccess - Fatal编程技术网

Php htaccess重写规则请求URI问题

Php htaccess重写规则请求URI问题,php,.htaccess,Php,.htaccess,如果站点名称没有请求URI,那么index.php应该出现 否则,如果URL为example.com/key,则文件pages.php?tkey=key应该出现 当我这样设置时,子文件夹中的图像不会加载 RewriteRule ^/?$ index.php [L] RewriteRule ^(.*)$ pages.php?page_keytkey=$1 [L] 请建议试着防止彼得·西姆科夫斯基(Peter Szymkowski)指出的递归循环。 也不要考虑将现有文件重定向为 Michael B

如果站点名称没有请求URI,那么index.php应该出现 否则,如果URL为example.com/key,则文件pages.php?tkey=key应该出现

当我这样设置时,子文件夹中的图像不会加载

RewriteRule ^/?$ index.php [L]
RewriteRule ^(.*)$ pages.php?page_keytkey=$1 [L]

请建议

试着防止彼得·西姆科夫斯基(Peter Szymkowski)指出的递归循环。 也不要考虑将现有文件重定向为<强> Michael Berkowski所说的< /强>

RewriteRule ^/?$ index.php [L]
RewriteCond %{REQUEST_URI} !^/pages.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ pages.php?page_keytkey=$1 [L]

例如,您可以在上阅读更多信息。

发生了什么行为与您期望的是什么?
RewriteRule^(.*)$pages.php?page_keytkey=$1[L]
这对我来说就像是递归的rewrite@PålBrattberg样式、图像链接正在重定向到页面。php@AnishJoseph这是一个非常普遍的问题。如果您有一个像您的pages.php规则这样的“包罗万象”规则,那么您需要在它前面加上
RewriteCond%{REQUEST_FILENAME}-f RewriteCond%{REQUEST_FILENAME}-d
以防止它重写实际存在的文件和目录。还有一个疑问是,此强制重写规则^/?$index.php[L]??实际上没有。如果apache中的
DirectoryIndex
指令设置正确,则不需要重定向