Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.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 Apache重写中的许多斜杠不起作用?_Php_Apache_Mod Rewrite_Url Rewriting - Fatal编程技术网

Php Apache重写中的许多斜杠不起作用?

Php Apache重写中的许多斜杠不起作用?,php,apache,mod-rewrite,url-rewriting,Php,Apache,Mod Rewrite,Url Rewriting,我修改了一个网站,重定向到一个页面: RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC,L] 它按设想的那样工作。所有内容都被重定向到index.php。下面是一个显示index.php和所有图像和css

我修改了一个网站,重定向到一个页面:

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
它按设想的那样工作。所有内容都被重定向到index.php。下面是一个显示index.php和所有图像和css的工作示例:

http://.....com/section1
当我尝试以下操作时会出现问题:

http://....com/section1/subsection
页面被重定向到index.php,但没有图像、css和javascript。在PHP脚本中,所有内容都是这样的,直接链接到图像或css或javascript,如:

<img src="images/images1.png> ... <img src="images2.png">
。。。

当.com/no\u slash\u url工作时,为什么带有许多斜杠的url像.com../123/123/任何东西都不能与图像、css或javascript一起工作?

您在没有重定向的情况下重写,因此客户端认为它位于原始未写入的url,所有相关路径都将相对于该url解析。您应该能够使用以下元素解决此问题:

每个浏览器现在将解析相对于该路径的图像,正确查找
http://mysite.com/images/

看看html



这难道不会让dns在每一张图片、css和javascript上都能毫无意义地查找吗?达克:我不知道我是否明白你的意思。
标记用于指定解析其他相对url的url。许多URL重写CMS应用程序(如Joomla和Drupal)都使用这种技术。我不明白这一点。为什么要使用
base
标记,而不只是地址
/images/xyz.jpg
?但是,我还不太明白OP想要什么。@Pekka:在我看来,添加
标记比更改许多图像标记简单。对我来说,这似乎更“正确”。当你的真实url不在当前路径时,你应该将基设置为真实路径。这将避免将来(即下次添加图像时)再次出现混淆和相同的问题@Andy我可以理解你的推理,但我一点也不喜欢
base
标记,因为它带来了长期的维护复杂性-它意味着一个不同的路径上下文,只能通过页面中某个位置的标记才能看到。我倾向于克服困难,用运行我可以看到
base
在这种情况下是如何工作的,但我个人还是不会使用它。顺便说一句“^.*$”应该是“^(.*)$”^=Start”“()=Group”“$=Final”“@Daok你想实现什么-你想让所有图像都被index.php解析,还是不想让图像被index.php解析?我想能够看到所有php页面中的图像、javascript和CSS,但我正在用前端控制器(在index.php中)移动所有网站,该控制器将包括good.php页面。好的,我已经按照你告诉我的那样修改了.htAccess。
<base href="http://myserver.com" />
<base href="http://mysite.com" />
<base href="http://www.mysite.com/" />