我的本地 Windows 机器上有 apache 和 PHP,我的 .htaccess 规则工作正常。我将所有文件上传到我的 Linux 服务器并得到不同的结果。我完全控制了我的 Linux VPS。它不是共享主机或任何东西。我创建了一个文件 showme.php,所有请求都应该转到该文件。showme.php 只是输出一些 $_SERVER 变量,所以我知道它有效。但是对服务器的每个请求都会给我 404 not found 。相同的请求在本地提供 showme.php 就像它应该的那样。
-本地示例:http://localhost/somepage(我得到了 showme.php 呈现的正确页面)
-服务器示例: http: //mydomain.com/somepage (我收到 404 消息)
这是我的 .htaccess 文件。我不明白为什么我会得到不同的结果。有文件权限的东西?
# AddType x-mapp-php5 .php
# AddHandler x-mapp-php5 .php
RewriteEngine on
Options +FollowSymlinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . showme.php [L]
ErrorDocument 404 /page-unavailable/
<files ~ "\.tpl$">
order deny,allow
allow from none
deny from all
</files>