.htaccess MAMP与现场环境的差异

.htaccess MAMP与现场环境的差异,.htaccess,mod-rewrite,mamp,.htaccess,Mod Rewrite,Mamp,我正在MAMP上建立我的网站,几天后我终于得到了一个.htaccess文件,可以按照我的意愿工作了。但现在,当我上传到生活环境,它的行为不一样!有不同的版本吗?是因为我的文件中有错误,MAMP才自动处理吗 如果不是这些特殊文件,则使用默认重写规则。scripts/images/mediacontent/services/robot.txt可以工作,但不能(login.php、hybridauth、blog) 使用\w+,您不会捕获完整的请求,而只捕获其中的一部分 从 \w 任何“单词”字符 “单

我正在MAMP上建立我的网站,几天后我终于得到了一个.htaccess文件,可以按照我的意愿工作了。但现在,当我上传到生活环境,它的行为不一样!有不同的版本吗?是因为我的文件中有错误,MAMP才自动处理吗

如果不是这些特殊文件,则使用默认重写规则。scripts/images/mediacontent/services/robot.txt可以工作,但不能(login.php、hybridauth、blog)


使用
\w+
,您不会捕获完整的请求,而只捕获其中的一部分

\w
任何“单词”字符

“单词”字符是任何字母、数字或下划线字符

这意味着,不包括点
、斜杠
/
、连字符
-
或下划线
.
旁边的任何其他特殊字符

从看起来的条件来看,您希望从规则中排除所有现有文件和目录。你可以用同样的方法来实现

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ index.php?page=$0 [L]

此规则捕获完整路径,包括任何特殊字符,并将其传递到
index.php
。但它也排除了所有真实文件,如Javascript源、CSS文件、图像等。

删除所有.htaccess文件后,我注意到问题不在重写中

我删除了服务器上的所有文件并再次上传,现在一切正常


自我提醒:使用一个好的FTP应用程序。

对于那些不起作用的东西,我得到了“302临时移动”和我的一样,但代码要少得多:)这个问题仍然发生在hybridauth和blog文件夹中。它是否与这些文件夹中的内容有关?博客-wordpress文件夹与永久链接。hybridauth-有一个index.php文件,可以捕获登录名。这些文件夹和文件被忽略,显示a/index.php?page=resultGoing for给我一个“500内部服务器错误”和“302临时移动”,现在它终于工作了。我删除了live环境中的所有文件,然后再次上传。一定是在第一次上传时添加了一些奇怪的东西。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ index.php?page=$0 [L]