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
Php .htaccess重写在1&;下工作的SEF URL;1但不是其他主机_Php_.htaccess_Mod Rewrite - Fatal编程技术网

Php .htaccess重写在1&;下工作的SEF URL;1但不是其他主机

Php .htaccess重写在1&;下工作的SEF URL;1但不是其他主机,php,.htaccess,mod-rewrite,Php,.htaccess,Mod Rewrite,我一直在研究和尝试我能得到的一切,但这种奇怪的情况仍然存在 我有一个可以理解的奇怪的重写场景,在这个场景中,执行图像大小调整和缓存的php脚本在没有.php扩展名的情况下被调用来创建SEF url,奇怪的是我传递所有的“参数”,就好像它们是脚本的子目录一样,在这个场景中,我的重写失败了,即: http://10.3.2.218/libraries/imageresize/images/portfolio/200/test.jpg 在上面的url中,“imageresize”实际上是“image

我一直在研究和尝试我能得到的一切,但这种奇怪的情况仍然存在

我有一个可以理解的奇怪的重写场景,在这个场景中,执行图像大小调整和缓存的php脚本在没有.php扩展名的情况下被调用来创建SEF url,奇怪的是我传递所有的“参数”,就好像它们是脚本的子目录一样,在这个场景中,我的重写失败了,即:

http://10.3.2.218/libraries/imageresize/images/portfolio/200/test.jpg
在上面的url中,“imageresize”实际上是“imageresize.php”,之后的所有内容都由我的脚本使用$\u服务器['REQUEST\u URI']捕获,并向下处理到图像位置和维度。脚本的输出是具有所需内容类型等的已处理图像

确切的问题是,我的重写规则在正常情况下运行良好,并且它们(在上述场景中)在客户端所在的1和1上运行良好,但在我的开发centos webserver/vm或使用cpanel的VPS上运行不好。除了1和1之外,apache似乎在任何地方都假定/imageresize/是一个目录,而从不测试它是否是一个脚本。我的重写规则如下

Options +FollowSymLinks

RewriteEngine on

RewriteCond %{REQUEST_URI} !(\.[^./]+)$
RewriteCond %{REQUEST_fileNAME} !-d
RewriteCond %{REQUEST_fileNAME} !-f
RewriteRule (.*) $1.php [L]
我想我要么在寻找与服务器配置相关的解决方案,要么在寻找一个更好的重写规则,或者至少是一个解释,说明为什么有些东西实际上在1和1下工作

谢谢您的帮助。

在不工作的服务器上听起来像是启用了

改变

Options +FollowSymlinks

Options +FollowSymlinks -MultiViews