我在.htaccess
- 文件中获得了以下RewriteRule:
RewriteRule ^([a-z]+)/(.*)$ distributor.php?file=$1¶ms=$2 [L]
如果我通过Xampp请求我的本地系统上的“www.domain.local/index/id/123
”,这可以很好地工作。它请求distributor.php(它做一个简单的var_dump($_GET);
)并产生预期的输出:
array
'file' => string 'index' (length=5)
'params' => string 'id/123' (length=6)
将这些文件上传到服务器时,该规则不适用。浏览器只输出DirectoryIndex文件。
经过几个小时的尝试修复后我感到困惑,并感谢任何帮助
由于
更新
如果我用破折号替换斜线并使用以下规则:
RewriteRule ^([a-z]+)-(.*)$ distributor.php?file=$1¶ms=$2 [L]
整个过程在我的本地系统和服务器上都有效。
我是否需要更改以在服务器上使用斜杠?
答案 0 :(得分:0)
找到您的apache配置文件,然后添加以下行:
<Directory /path/to/your/web/application>
Options Indexes FollowSymlinks MultiViews
AllowOverride all
Order allow,deny
allow from all
</Directory>
然后如果以下行不存在,请写下:
AccessFileName .htaccess