首先,我向我的托管公司澄清,他们已经验证允许覆盖设置已启用。
其次,如果我在 .htaccess 文件中写入垃圾值,那么我会得到“内部服务器错误”,这进一步证明 .htaccess 没有被跳过。
我正在尝试这样做 输入:all/3 输出:all.php?id=3
我在 .htaccess 文件中编写了以下内容,该文件是从教程站点复制的。
# Enable Rewriting
RewriteEngine on
# Rewrite user URLs
# Input: user/NAME/
# Output: user.php?id=NAME
RewriteRule ^all/(\w+)/?$ all.php?id=$1
all.php 文件
<?php
echo $_GET['id'];
?>
现在,如果我输入localhost/all/3
,则会显示 3。
如果我输入www.mydomain.com/all/3
,则页面为空白。
此外,我在 .htaccess 文件中只有上述代码,仅此而已。那么为什么我在 localhost 和我的服务器中会出现不同的行为呢?