我使用id param从url中获取指定的数据。我在.htaccess文件中也有重写规则,让用户在斜杠后面输入数字。我现在使用localhost,所以它看起来像这样:
mypage.localhost/1
问题是当我在URL中的id后添加斜杠时,如mypage.localhost/1/页面加载不正确。有来自数据库的数据,但布局完全损坏。有来自php和.htaccess的代码
public function show():array
{
$id=(int)$_GET['id'];
$data=array();
if($id){
try {
$data=$this->get($id);
}catch (DatabaseException)
{
header("Location:missingID");
throw new DatabaseException("Failed to get paste");
}
}else{
header("Location:missingID");
}
return $data;
}
RewriteEngine on
RewriteRule ^([0-9]+)/?$ out.php?id=$1 [L,QSA]
RewriteRule ^([a-z]+)/?$ index.html?error=$1 [L,QSA]
ErrorDocument 404 /index.html
我该如何修复它?我应该在php文件或.htaccess文件中添加一些东西吗?
1条答案
按热度按时间hfyxw5xn1#
在.htaccess文件中,您可以添加一个条件,以从重写规则中排除对已存在文件的请求。这将防止规则应用于对静态文件(如CSS和JS文件)的请求。
以下是.htaccess文件的更新版本: